$().click () 和 $(document).on ('click','要选择的元素',function (){}) 的不同

  1. 场景图片:
    $().click()和$(document).on('click','要选择的元素',function(){})的不同
  2. 场景描述: laravel路由控制器视图加载人员信息放在id=’peopleContent’内容中,当点击图中.btn-del-person-la按钮执行如下js成功弹出123;
    $(function() {
      $('.btn-del-person-la').click(function(){
           alert(123);
       });
    })
    当执行ajax执行人员搜索出来的视图数据,清空原先的peopleContent中的内容,填充ajax执行的结果,同样含有.btn-del-person-la的按钮,但是点击按钮,不会弹出123;

解决办法:换成如下写法

$(function() {
     $(document).on('click', '.btn-del-person-la',function(e){
        alert(123);
    })
})

这样不管是自然加载人员还是ajax搜索人员都可以弹出123;

总结:

  1. $(选择器).click(fn)
      当选中的选择器被点击时触发回调函数fn。只针对与页面已存在的选择器;

  2. $(document).on(‘click’,’要选择的元素’,function(){})
      on方法包含很多事件,点击,双击等等事件。和$().click()的用法一样,最大的区别即优点是如果动态创建的元素在该选择器选中范围内是能触发回调函数

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!