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

标签 jquery

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

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

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

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

我知道有委托(delegate)方法,但它仅适用于jquery-1.4.2版本(正如之前发布的另一个problem)破坏了一些与IE6兼容。

还有其他方法可以在不为 N div 放置 N 个监听器的情况下执行此操作吗?

干杯

最佳答案

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

$(".teamScroll").hover(function() {
  //mouse on the item
}, function() {
  //mouse off the item
});

这是始终有效的方式(但是2n处理程序就像您所询问的那样),假设1.4.2不是一个选项......如果您至少使用1.3。 2、有.live()像这样:

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

这里的区别是.live()运行一个额外的选择器,事件一直冒泡到 document...并且它实际上映射到 mouseover mouseout 在幕后,这通常是不可取的。

相反,我建议 .delegate()路线,并查看 jQuery 1.4.4 是否修复了 1.4.2 中的问题,1.4.3/1.4.4 中进行了一些 AJAX 调整。

关于JQuery - 向类添加鼠标事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4431926/

相关文章:

javascript - 如何在 if 条件下使用实际图像更改图像大小

java - 如何在jqplot条形图中放置多个条形

jquery - 如何将元素拉到我的光标?

javascript - 如何将 onclick 回调附加到 div 但不附加到 div 内的链接?

javascript - 如何通过一次悬停来扩大和缩小两个不同的div

javascript - 在某个子元素之后停止事件传播

javascript - 在reduce/jQuery中调用函数

javascript - 如何在单击时选择跨度的文本?

javascript - jquery 单独切换

Ajax 提交之前的 jQuery 表单验证