使用jQuery 1.3.2进行事件委托

时间:2010-12-17 14:25:37

标签: jquery event-delegation

目前我仍然坚持使用jQuery 1.3.2而且我刚刚开始理解事件委托。但我似乎无法获得任何类型的事件委托来处理此代码。我有一个带有'聊天'类的ul,当它悬停在其中一个时,它会创建一个新的跨度,然后滑出,然后在鼠标离开时滑回。

此代码有效,但我想使用事件委派:

$('ul.chat li').hover(
    function() {
        $(this).append($('<span class="join">Join Conversation</span>'));
        setTimeout(function() {
            $('.join').animate({'width': '150px'}, 400);
        },500);
    },
    function() {
        $('.join').animate({'width': '0px'}, 200, function(){
            $(this).remove();                                             
        }); 
    }
);

有人可以告诉我如何获得相同的结果,但是有事件委托吗? 感谢。

1 个答案:

答案 0 :(得分:1)

更新:您似乎不希望添加项目的事件委派,但更多是因为您将使用非常大的结果集。

快速搜索Google('事件委托jquery 1.3.2')提出this


您可以使用jQuery.live()事件获得“事件委派”。

你必须将它分成两个绑定,如下所示:

$('ul.chat li').live('mouseover',
    function() {
        $(this).append($('<span class="join">Join Conversation</span>'));
        setTimeout(function() {
            $('.join').animate({'width': '150px'}, 400);
        },500);
    }
).live('mouseout',
    function() {
        $('.join').animate({'width': '0px'}, 200, function(){
            $(this).remove();                                             
        }); 
    }
);