$().click()和$().on('click',function(){})的区别

使用 on()方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
这两者在绑定静态控件时没区别,但是绑定动态控件时只能用on()
下面的例子使用click()时,后面追加的元素不会被删除,而使用on()方式可以。

<div>
      <button id="newon">用on生成的</button>
      <button id="newclick">用click生成的</button>
      <ul class="li">
          <li>原来的html-on
              <button class="del-on">删除</button>
          </li>
          <li>原来的html-click
              <button class="del-click">删除</button>
           </li>
      </ul>
  </div>
//两个添加
        $("#newon").click(function(){
            $(".li").append("<li>用on添加的<button class='del-on'>删除</button></li>")
        });
        $("#newclick").click(function(){
            $(".li").append("<li>用click添加的(删除不了)<button class='del-click'>删除</button></li>")
        });
//两个删除
        $(".li").on("click",".del-on",function(){
            $(this).parent().remove();
        });
        $(".del-click").click(function(){
            $(this).parent().remove();
        })

干一行,爱一行,学到老,活到老~~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 3,843评论 0 3
  • on() 和 click() 的区别: on()可以删除动态创建的标签,click()不可以 二者在绑定静态控...
    天字一等阅读 3,502评论 0 1
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,855评论 1 11
  • 获取操作兄弟元素 元素.next()获取该元素下一个兄弟元素 元素.nextAll()获取该元素后面的所有兄弟元素...
    印象rcj阅读 1,664评论 0 0
  • 为甚嚒要学习jQuery? 因为JS中有很多痛点: window.onload事件只能出现一次,如果出现多次,后面...
    magic_pill阅读 4,239评论 0 13