zoukankan      html  css  js  c++  java
  • .on事件绑定多少次就会执行多少次

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>The Earth</title>
     6     <link rel="shortcut icon" href="img/earth.ico" type="image/x-icon">
     7     <link rel="icon" href="img/earth.ico" type="image/x-icon">
     8     <script src="js/lib/zepto.js"></script>
     9     <script src="js/index.js"></script>
    10 </head>
    11 <body>
    12         <button type="button" class="btn1">点击1</button><!--先点击点击btn1 3次-->
    13         <button type="button" class="btn2">点击2</button><!--再点击点击btn2 1次-->
    14 </body>
    15 <script>
    16    Zepto(function($){
    17         $(".btn1").click(function(){
    18             $(".btn2").on("click",function(){
    19                 console.log(123);//将会执行3次,因为被绑定了三次(.on绑定多少次就执行多少次)
    20             })
    21         })
    22     })
    23 </script>
    24 </html>

    解决方法(.on不管绑定多少次只会执行一次---无需点击btn1再绑定,每次点击btn2就执行一次)

     1 $(".btn1").click(function(){
     2             $(".btn2").off("click").on("click",function(){
     3                 //off() 方法用于移除通过on()方法添加的事件处理程序
     4                 // (每次向.btn2上绑定click事件时,先将btn2上的click事件移除,再绑定,再点击时就只会有一次绑定)
     5                 console.log(123);
     6             })
     7         })
     8         $(".btn1").click(function(){
     9             $(".btn2").unbind("click");
    10             $(".btn2").on("click",function(){
    11                 console.log(123);
    12             })
    13         })

    解决方法(.on不管绑定多少次只会执行一次---需点击btn1再绑定,才能点击btn2就执行一次)

     1 Zepto(function($){
     2         $(".btn1").click(function(){
     3             $(".btn2").on("click",function(){
     4                 console.log(123);
     5                 $(".btn2").off("click")
     6                 //off() 方法用于移除通过on()方法添加的事件处理程序
     7                 // (每次向.btn2上绑定click事件后,将btn2上的click事件移除,btn2上将没有点击事件,
     8                 // 需要在点击btn1去向btn2绑定click事件,btn2才能在点击)
     9             })
    10         })
    11         $(".btn1").click(function(){
    12             $(".btn2").on("click",function(){
    13                 console.log(123);
    14                 $(".btn2").unbind("click");
    15             })
    16         })
    17     })
  • 相关阅读:
    js高级程序设计 笔记 --- 引用类型
    es6 简单封装一个 省市县三级下拉框
    js中元素、触点等各种距离的总结
    css实现视觉差的滚动
    js的节流和防抖
    js关于原型,原型链的面试题
    深入理解promise
    vue 同一个组件的跳转, 返回时保留原来的下拉位置
    es6 封装一个登录注册的验证滑块
    洛谷P3203 [HNOI2010]弹飞绵羊(lct)
  • 原文地址:https://www.cnblogs.com/sunnie-cc/p/6840258.html
Copyright © 2011-2022 走看看