如果你有最新版本的jquery,livequery仍然有用吗?

时间:2009-10-26 14:58:48

标签: jquery livequery

根据我的理解,livequery用于在DOM更改后维护您的事件。

最新版本的jquery不支持这个吗?

2 个答案:

答案 0 :(得分:7)

是的,它仍然有用。 live()仅适用于某些事件,而livequery()可以绑定到用户浏览器提供的任何事件。

http://docs.jquery.com/Events/live

  

可能的事件值: click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

     

目前不支持: blur, focus, mouseenter, mouseleave, change, submit

请注意,不受支持的还有touchstart, touchend等触摸事件

答案 1 :(得分:2)

livequery()提供的一个有用功能live()不能在每次匹配新元素时触发自定义函数(和/或元素不再匹配)。< / p>

来自docs

  

Live Query也有能力   当它发出一个函数(回调)   匹配一个新元素和另一个元素   函数(回调)的时候   元素不再匹配。这个   提供最大的灵活性和   无数的用例。比如说   以下代码使用基于函数   Live Query实现jQuery   悬停辅助方法并在删除时删除它   元素不再匹配。

$('li') 
    .livequery(function(){ 
    // use the helper function hover to bind a mouseover and mouseout event 
        $(this) 
            .hover(function() { 
                $(this).addClass('hover'); 
            }, function() { 
                $(this).removeClass('hover'); 
            }); 
    }, function() { 
        // unbind the mouseover and mouseout events 
        $(this) 
            .unbind('mouseover') 
            .unbind('mouseout'); 
    });