我在看旧代码。我发现对于使用ajax添加的元素,有很多livequery代码。更新版本的jquery不再需要livequery了吗?有没有人知道在哪个版本之后就不需要它了?
$("#somediv").livequery(function(){
$(this).click(function(){
});
});发布于 2011-10-06 22:21:39
livequery是与.live()完全不同的概念。
.live()方法使用事件委托来处理页面上任何位置发生的事件。
当发生DOM更改时(通过jQuery方法),livequery将调用处理程序。
对于下面的示例,当将带有class="some_class"的元素添加到DOM中(或将类添加到元素中)时,将运行第一个处理程序。当移除时,第二个。
$('.some_class').livequery( function() {
// apply a plugin to the element
$(this).somePlugin();
}, function() {
// clean up after the element was removed
});对livequery的实际需求应该不大,但在极少数情况下,您需要响应DOM更改,并且无法控制导致这些更改的jQuery,那么它可能会很有用。
发布于 2016-12-22 22:16:05
您必须使用on()并将事件附加到父对象或主体。例如:
$('#obj').livequery('click', function() { ... });
$('#obj').livequery(function() { ... });成为
$('body').on('click', '#obj', function() { ... });
$('body').on('DOMNodeInserted','#obj', function() { ... });请注意,DOMNodeInserted为IE9+
https://stackoverflow.com/questions/7675526
复制相似问题