jquery $(document).on('click',selector,...)vs $(selector).on('click',

12 javascript ajax jquery

我一直用过去:

$(selector).on('click', function )
Run Code Online (Sandbox Code Playgroud)

但是今天我把它绑定在docready之后的一个对象上(来自ajax一个调用).绑定不会坚持.

谷歌搜索后我看到了这个:

$(document).on( event, selector, function ) 
Run Code Online (Sandbox Code Playgroud)

句法.更改为此后,我的代码正在运行.

我已经从jquery休息了一下,觉得我错过了什么,这两种方法有真正的区别吗?这些是什么?

后一种语法是现在对新元素进行绑定的唯一方法(用于服务的livequery插件的目的)吗?

Que*_*tin 18

第一个示例将事件侦听器直接绑定到元素.它为每个元素添加一个单独的侦听器,它只会在添加侦听器时响应DOM中元素的事件.

第二个示例将事件侦听器绑定到文档对象.它将检查任何冒泡到文档对象的事件,并在触发函数之前测试事件启动的元素是否与选择器匹配.绑定侦听器时,不要求元素存在于文档中.事件可能被捕获(由另一个侦听器)并且传播在它冒泡到文档对象之前停止.