首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >livequery已被弃用

livequery已被弃用
EN

Stack Overflow用户
提问于 2011-10-06 22:10:59
回答 2查看 15.3K关注 0票数 15

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

代码语言:javascript
复制
$("#somediv").livequery(function(){
    $(this).click(function(){

    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-06 22:21:39

livequery是与.live()完全不同的概念。

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

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

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

代码语言:javascript
复制
$('.some_class').livequery( function() {

       // apply a plugin to the element
    $(this).somePlugin();

}, function() {

    // clean up after the element was removed

});

livequery的实际需求应该不大,但在极少数情况下,您需要响应DOM更改,并且无法控制导致这些更改的jQuery,那么它可能会很有用。

票数 15
EN

Stack Overflow用户

发布于 2016-12-22 22:16:05

您必须使用on()并将事件附加到父对象或主体。例如:

代码语言:javascript
复制
$('#obj').livequery('click', function() { ... });
$('#obj').livequery(function() { ... });

成为

代码语言:javascript
复制
$('body').on('click', '#obj', function() { ... });
$('body').on('DOMNodeInserted','#obj', function() { ... });

请注意,DOMNodeInserted为IE9+

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7675526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档