我正在尝试将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值。
有更好的方法吗?
答案 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,所以你也可以使用选择器......更容易!