关于jquery中的on方法事件绑定

请问jquery的on方法支持为未来可能存在的元素绑定事件吗?为何我这样写,后来动态添加的clss值为mine的div并没有绑定上事件,图片描述

但这样写就可以为div.mine绑定事件图片描述

当on()方法的子元素选择器参数省略的时候不是直接给委托方绑定事件吗,是不是事件委托方只能是已存在的元素?

阅读 3.7k
2 个回答

上面的方式就可以理解为代理模式,他是以body为基础,为元素内部.mine属性绑定事件,不论是已经存在的还是未来要发生的,这样的好处就是减少代码量和内存消耗,执行一次即可为全局的.mine绑定;
而你的第一种方式只能为已经存在的元素绑定事件!未来发生的则不可以,

$("body").delegate('.mine', 'click', function(){
    //To do sth
})

这是jquery里面通用的代理绑定模式!正好符合你的这种情况!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题