2

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

最新版本的 jquery 不是已经支持这个了吗?

4

2 回答 2

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,例如 等。

于 2009-10-26T15:06:54.293 回答
2

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

文档

Live Query 还能够在匹配新元素时触发函数(回调),并在元素不再匹配时触发另一个函数(回调)。这提供了最大的灵活性和无数的用例。例如,以下代码使用基于函数的 Live Query 来实现 jQuery hover 辅助方法,并在元素不再匹配时将其删除。

$('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'); 
    });
于 2009-10-27T08:42:55.103 回答