livequery已被弃用

我在看旧代码。 我看到对于添加了ajax的元素,有很多livequery代码。 使用较新版本的jquery不再需要livequery吗? 有谁知道在哪个版本之后不需要它?

$("#somediv").livequery(function(){ $(this).click(function(){ }); }); 

livequery.live()完全不同。

.live()方法使用事件委派来处理页面上任何位置发生的事件。

当DOM发生更改时, livequery将调用处理程序(通过jQuery方法)

对于下面的示例,当将具有class="some_class"的元素添加到DOM(或将类添加到元素中)时,将运行第一个处理程序。 删除时,第二个。

 $('.some_class').livequery( function() { // apply a plugin to the element $(this).somePlugin(); }, function() { // clean up after the element was removed }); 

对于实时查询应该没什么实际需要,但在极少数情况下,您需要响应DOM更改,并且无法控制导致这些更改的jQuery,它可能很有用。

您必须使用on()并将事件附加到父项或正文。 例如:

 $('#obj').livequery('click', function() { ... }); $('#obj').livequery(function() { ... }); 

成为

 $('body').on('click', '#obj', function() { ... }); $('body').on('DOMNodeInserted','#obj', function() { ... }); 

请注意,DOMNodeInserted是IE9 +