JQuery中bind和unbind函数转载:   https://blog.csdn.net/liucheng417/article/details/51131982

页面代码:

<body>
<input type="button" name="aaa" value="点击我">
<input type="checkbox" name="checkbox1">
</body>

JQuery代码:

$().ready(function(){
   for (var i = 0; i < 3; i++) {
      $("input[type='button']").click(function(){
       alert("aaaa");
      });
   }
}

执行结果:alert("aaaa")会执行三次。在事件嵌套事件中,不希望看到这样的情况,需要把上层事件禁用,此时可引入bind和unbind函数解决。

JQuery引入函数:

for (var i = 0; i < 3; i++) {

  $("input[type='button']").unbind("click");
  $("input[type='button']").bind("click", function(){

  //上面两句等价于$("input[type='button']").unbind("click").bind("click", function(){
  alert("aaa");
  });
}

执行结果:alert("aaa");仅执行一次。

与onclick区分

业务场景:

当需对某个按钮添加单击事件,为了控制重复点击,需点击完后立马去掉单击事件。

$(function(){
  $('#btn').bind('click', aa);
});

function aa(){

  $("#btn").unbind("click");

  ...

  //在需要重新绑定点击事件时

  $('#btn').bind('click', aa);

}

优点:基本兼容所有浏览器

做法2:

在button按钮上添加onclick事件。

点击onclick后调用aa()方法。

function aa(){

$("#btn").removeAttr("onclick");

...

//在需要重新绑定点击事件时

$("#btn).attr("onclick“,"aa()");

}

缺点:在IE7及以下不兼容。

最新文章

  1. ASP.NET MVC4入门到精通系列目录汇总
  2. Python中print函数输出时的左右对齐问题
  3. C++中vector的remove用法
  4. Math.random();函数 随机数
  5. 基于JAVA的webVNC
  6. forEach嵌套循环的问题
  7. 非root用户Memcached repcached安装
  8. 压力测试工具ab - Apache HTTP server benchmarking tool
  9. vue-These relative modules were not found
  10. Spring源码情操陶冶-tx:advice解析器
  11. Java 虚拟机面试题全面解析(干货)
  12. IDA显示字节机器码
  13. SQLConnect
  14. React Router页面传值的三种方法
  15. Linux 压缩归档
  16. NCBI News
  17. SRM476
  18. B+/-Tree原理
  19. Memcacher win7 安装测试
  20. c#代码获取web.config配置文件里面设置的 &lt;compilation debug=&quot;true&quot;节点

热门文章

  1. 学习笔记之Data analysis
  2. docker entrypoint入口文件详解
  3. 免费通配符SSL证书
  4. python:数据类型set
  5. [UE4]爆头和穿墙
  6. [UE4]end快捷键,落地
  7. Servlet基础学习
  8. 提高modem的core dump级别
  9. HBase分布式集群部署与设计
  10. Java - 33 Java Applet基础