我过去一直使用:
$(selector).on('click', function )
但是今天,我将其绑定到文档准备就绪(通过ajax调用)后出现的对象上。绑定不会粘住。
谷歌搜索后,我看到了:
$(document).on( event, selector, function )
句法。更改为此之后,我的代码开始工作了。
我从jquery休息了一下,觉得自己错过了一些东西,这2种方法真的有区别吗?这些是什么?
这后一种语法是现在对新元素(用于服务的目标livequery插件)进行绑定的唯一方法吗?
第一个示例将事件侦听器直接绑定到元素。它为每个元素添加一个单独的侦听器,并且只会响应添加侦听器时DOM中元素上的事件。
第二个示例将事件侦听器绑定到文档对象。它会检查任何可能冒泡到文档对象的事件,并在触发该函数之前测试该事件开始于的元素是否与选择器匹配。绑定侦听器时,不需要元素存在于文档中。在事件冒泡到文档对象之前,有可能捕获(由另一个侦听器)事件并停止传播。