使用带有鼠标事件的数组

时间:2014-04-27 20:52:28

标签: jquery

我想为114 divs应用鼠标事件。一个div有很多条件。我写了一个div,但大约有900行。如果我想为114个div做那个,那将是非常困难和无聊的。我试过下面的例子,但没有用。

var abc= new Array();
abc[0] = ".ABC";
abc[1] = ".DEF";

$(abc).mouseenter(function() {
    Some code
});

for (var a=0;a<114;a++) {
   $(abc[a]).mouseenter(function() {
      Some code
   });
}

while (var a=0;a<114;a++) {
    $(abc[a]).mouseenter(function() {
       Some code
    });
}

2 个答案:

答案 0 :(得分:1)

无需逐个定义每个事件。给所有div一个类,并按类名选择:

jsFiddle Demo

HTML

<div class="mydivs"></div>
<div class="mydivs"></div>
<div class="mydivs"></div>
....

<强>的jQuery

$('.mydivs').mouseenter(function() {
    // grab current div by $(this)
});

答案 1 :(得分:0)

更好的解决方案可能只是在您想要相同事件处理程序的所有元素上放置一个公共类,或者(如果您向我们展示您的HTML),您可以使用单个委托事件处理程序。但是,如果您坚持为阵列中的每个项目设置单独的事件处理程序,则可以执行以下操作:

$(abc.join(", ")).mouseenter(function() {
    // you can access whatever object triggered the event
    // with the value in this
});