jquery将dblclick事件绑定到多个元素

时间:2014-07-30 18:38:48

标签: javascript jquery

我正在尝试将dblclick事件绑定到我正在迭代的nodeList中的div。 这是代码:

var elems = document.getElementsByClassName("click");
currentLocation = elems[0].id;
for (var i=0; i<elems.length; i++){
    $(elems[i]).dblclick(function() {
            if((elems[i].id) != currentLocation){
                badAnswer = true;
                alert(badAnswer);
            }
        });

    }

currentLocation是一个全局变量,设置为节点列表的第一个元素id。 badAnswer也是一个设置为false的全局布尔值。如果双击一个元素,该元素与currentLocation global之外的元素匹配,则badAnswer设置为true。

目前我收到一个未定义的错误,我试图通过在事件处理程序中创建一个局部变量来解决这个错误。这似乎也不起作用,并且双击时badAnswer始终为true,因为elementID始终等于最后一个元素的ID值。

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

是的,还有更好的方法:

var currentLocation = $(".click")[0].id;
$(".click").on("dblclick", function() {
    if (this.id != currentLocation) {
        badAnswer = true;
    }
});

答案 1 :(得分:0)

$('.click').dblClick(function() {
    if(this.id != currentLocation) {
        ...
    }
});

你已经在使用jQuery,所以你也可以使用选择器......更容易!