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 +