sam*_*old 14 javascript jquery livequery
我正在看旧代码.我看到对于添加了ajax的元素,有很多livequery代码.使用较新版本的jquery不再需要livequery吗?有谁知道在哪个版本之后不需要它?
$("#somediv").livequery(function(){
$(this).click(function(){
});
});
Run Code Online (Sandbox Code Playgroud)
use*_*716 13
livequery是一个完全不同的概念.live().
该.live()方法使用事件委派来处理页面上任何位置发生的事件.
livequery将在DOM发生更改时调用处理程序(通过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
});
Run Code Online (Sandbox Code Playgroud)
应该没有什么实际需要livequery,但在极少数情况下,您需要响应DOM更改,并且无法控制导致这些更改的jQuery,它可能很有用.
您必须使用on()并将事件附加到父级或主体。前任 :
$('#obj').livequery('click', function() { ... });
$('#obj').livequery(function() { ... });
Run Code Online (Sandbox Code Playgroud)
变得
$('body').on('click', '#obj', function() { ... });
$('body').on('DOMNodeInserted','#obj', function() { ... });
Run Code Online (Sandbox Code Playgroud)
注意 DOMNodeInserted 是 IE9+
| 归档时间: |
|
| 查看次数: |
12873 次 |
| 最近记录: |