我不知道为什么选项(1)不起作用。
我已经读过liveon,但是错过了/找不到答案。

有人可以解释一下还是可以向我指出与此有关的文档?

1. $('#MAIN a[href="#PAGE"]').on( 'click',function(event){ alert("1"); });
2. $(document).on('click', '#MAIN a[href="#PAGE"]', function(event){ alert("2"); });


谢谢。

最佳答案

第一种形式在链接上链接常规事件,第二种形式在文档级别上链接委托事件。

第一个与:

$('#MAIN a[href="#PAGE"]').click(function(event){ alert("1"); });


第一种形式需要在运行代码时显示链接。对于以后添加的链接,事件不会在那里。

第二种形式在事件上升到文档级别时会捕获该事件,因此它也适用于以后添加的链接。

最好您将委托事件挂接到尽可能靠近目标元素的位置。如果#MAIN元素在连接时存在,则可以使用它代替文档:

$('#MAIN').on('click', 'a[href="#PAGE"]', function(event){ alert("2"); });

关于javascript - 使用on进行后期绑定(bind)的jQuery-旧表单无法正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11279816/

10-14 13:01
查看更多