zoukankan      html  css  js  c++  java
  • jquery 的on绑定误解

    jquery的on绑定事件到元素是很方便的事情,但是有一个很多人都不注意的是,如果on绑定相同的事件2次,就会引发很奇怪的事件。看下面的代码:

     1 <div class="JQ_show_list" style="display: none">
     2 
     3 </div>
     4 <script type="text/javascript">
     5     function show_list(){
     6         $(".JQ_show_list").on('click',function(){
     7             console.log($(this));
     8             $(this).toggle();
     9         })
    10     }
    11 
    12     show_list();
    13     show_list();
    14 
    15 </script>

    然后不管你怎么点,这个div就是不显示。当你去看console控制台,你会发现,输出2个这个$(this)对象,这个是为什么?因为我们执行了2次on绑定,jquery的不区分on绑定的是否是同一个函数,所以先触发第一次绑定,div应该显示,但是有触发第二次绑定,所以div变成不显示了。这就是on的坑,但是on有一个好处,就是元素可以是后面动态生成的,也可以相应的拥有绑定的事件,这个可以很方便写插件的时候因为一些dom后面生成后自动绑定对应的事件。

    今天就记录这个小知识点。

  • 相关阅读:
    html5 存储(删除)
    java 单例模式
    android知识点汇总
    java多线程 与 并发
    cuda GPU 编程之共享内存的使用
    vs 2015 + OPENGL 配置
    Ubuntu 14.04 安装 CUDA 问题及解决
    性能分析工具gprof介绍
    vim 换行方式 win 转Ubuntu vim 格式调整
    计算显卡对比
  • 原文地址:https://www.cnblogs.com/xiaoyuqin/p/5197305.html
Copyright © 2011-2022 走看看