【问题标题】:event delegation with jQuery 1.3.2使用 jQuery 1.3.2 进行事件委托
【发布时间】:2010-12-17 14:25:36
【问题描述】:

我现在一直在使用 jQuery 1.3.2,而且我才刚刚开始了解事件委托。但我似乎无法让任何类型的事件委托来处理这段代码。我有一个带有“聊天”类的 ul,当悬停在其中一个 li 上时,它应该创建一个新的跨度,然后滑出,然后在鼠标离开 li 时滑回。

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

$('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();                                             
        }); 
    }
);

有人可以告诉我如何实现相同的结果,但使用事件委托吗? 谢谢。

【问题讨论】:

  • mouseentermouseleave 不支持冒泡/委托。 jQuery.live 在 1.3 中不支持 hover,直到他们在 1.4 中提出解决方法(我认为他们只使用 mouseovermouseout)...

标签: jquery event-delegation


【解决方案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();                                             
        }); 
    }
);

【讨论】:

  • 在 jQuery 1.3.2 中,live 不支持 mouseentermouseleave;它们需要替换为mouseovermouseout (api.jquery.com/live/#caveats)
  • 啊。我不确定,所以我只是使用了文档中提到的 jQuery.hover() 的简写。将在一秒钟内更新。谢谢! =)
  • 我主要关心的是减少发生的绑定数量(我认为我说得对)。一位高级程序员告诉我,事件被绑定到每个 li,即使它们不需要绑定,而它只能绑定到 ul.chat。他说我应该研究一下事件委托。 .live() 会导致这种情况发生吗?或者它只是允许悬停的东西发生在新注入的 ajax 列表项上?
  • 我不认为live() 会减少绑定的数量。我记得尝试在 jQuery 绑定中进行“传统”委托,并发现我无法模拟该功能。想要减少绑定数量的原因是什么?您的网站/应用程序运行缓慢,还是您担心它可能会开始变慢,或者...?
  • 速度问题。我知道这是可以做到的,因为另一个人是和他的团队一起做的,但我只是在某个地方偶然遇到了这个人,所以不能要求他详细说明。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多