目前我仍然坚持使用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();
});
}
);
有人可以告诉我如何获得相同的结果,但是有事件委托吗? 感谢。
答案 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();
});
}
);