jQuery 添加事件

(1)$("a").click(function(){...
(2)$("a").on("click", function(){...
(1)和(2)有区别吗?
我认为1完全可以代替2

阅读 2.6k
3 个回答

区别很大的骚年,
1.click只能为元素绑定点击事件,而on可以给一个元素绑定多个事件;
2.click只能给当前已经有的元素绑定事件,而on可以给动态生成的元素绑定事件,简单点来讲,一个ul下面有两个li,而后又用jquery给动态添加了两个li,你用click只能给前两个绑定事件,而on可以给这个4个li都绑定事件,当然写法上略有区别;

$('ul li').click(function(){//todo});//只能绑定前面2个li
$('ul').on('click','li',function(){//todo});//只要是这个ul下面的li都可以绑定,不管是原来有的还是js动态生成的

第二种可以为handler函数传递参数,你看看api。

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