JQuery - 向类添加鼠标事件侦听器

mar*_*zzz 3 jquery

<div class="teamMain">
    <div class="teamScroll">
        PRIMO
    </div>

    <div class="teamScroll">
        SECONDO
    </div>

    <div class="teamScroll">
        TERZO
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想通过将teamScroll类作为参考,为每个div添加一种监听器(例如mouseover或mouseout).

我知道有委托方法,但它只适用于jquery-1.4.2版本(正如之前发布的另一个问题)用IE6打破了一些功能.

没有为N div设置N侦听器,还有其他方法可以做到这一点吗?

干杯

Nic*_*ver 5

您可以使用普通的.hover()处理程序,如下所示:

$(".teamScroll").hover(function() {
  //mouse on the item
}, function() {
  //mouse off the item
});
Run Code Online (Sandbox Code Playgroud)

这就是总是有效的方式(但是2n像你这样的处理程序会问),假设1.4.2不是一个选项...如果你至少有1.3.2,那就是.live()这样的:

$(".teamScroll").live("mouseenter", function() {
  //mouse on the item
}).live("mouseleave", function() {
  //mouse off the item
});
Run Code Online (Sandbox Code Playgroud)

这里的区别是,.live()运行一个额外的选择和事件冒泡一路攀升到document它...以及实际上映射到mouseover,并mouseout在幕后,这往往是不可取的.

相反,我建议.delegate()路线,看看jQuery 1.4.4是否修复了1.4.2中的问题,1.4.3/1.4.4中有几个AJAX调整.