簡體   English   中英

jQuery綁定dblclick事件到多個元素

[英]jquery bind dblclick event to multiple elements

我正在嘗試將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全局以外的其他元素匹配的元素,則badAnswer設置為true。

當前,我收到一個未定義的錯誤,我試圖通過在事件處理程序內部創建局部變量來糾正該錯誤。 這似乎也不起作用,並且雙擊時badAnswer始終為true,因為elementID始終等於最后一個元素的ID值。

有一個更好的方法嗎?

是的,還有更好的方法:

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

您已經在使用jQuery,因此不妨使用選擇器...要容易得多!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM