on('click')与.click()事件的区别
支持动态绑定元素,即页面上元素有添加或变化后仍可绑定,前提是selector须是目标绑定元素的父元素,如绑定body里的动态li元素:
其二:
正如下面的例子所述,使用.on另一个原因是命名空间事件。
如果使用.on("click", handler)
添加处理程序,通常可以使用.off("click", handler)
删除该处理程序。 显然,只有在引用了该函数的情况下,此方法才有效,否则,该怎么办?
您使用命名空间:
通过解除绑定
$("#element").off("click.someNamespace");
若直接绑定动态的li元素将不成功,效果与$('').click()
相同。
$('').click()
事件只能绑定静态元素。
总结:
click
事件仅在呈现元素时起作用,并且仅在DOM准备就绪时才附加到加载的元素上。
.on
事件是动态附加到DOM元素的,当您要将事件附加到在ajax请求或其他内容(在DOM准备就绪后)上呈现的DOM元素上时,这很有用。