我有一個元素點擊事件,點擊一次點擊兩次,這是一個常見的搜索問題,但我排除了其他答案的潛在原因。該代碼是jQuery點擊觸發兩次,但只註冊一次
console.log("registering label click");
$("label.tiletype").click(
function(event) {
event.stopPropagation(); // stop the .tile click being called
console.log("label clicked, x = " + event.pageX + ", y = " + event.pageY);
// more code...
}
}
當頁面加載和「label.tiletype」點擊,日誌
registering label click
label clicked, x = 679, y = 172
label clicked, x = 679, y = 172
由於「註冊標籤上單擊」只會發生一次,它不能是由於任何原因點擊被綁定兩次。
由於pageX和pageY座標是相同的,雙重事件發生在相同的物理點擊,而不是在元素上調用的第二個程序化點擊()(我認爲,如果錯誤的話糾正我)。
調試行只在這個特定位的代碼中,所以沒有其他點擊事件觸發。
我已經檢查了Firebug中的源代碼,並且有多個「label.tiletype」元素但屏幕上沒有重疊,它們都是display:block和float:left。
JavaScript文件中還有其他的東西發生(行375 https://github.com/okohll/agileBase/blob/200dd1c6c1a8968bc9d8f5b2b3d9188ac4776984/gtpb_clientside/resources/simple/simple.js),但無論發生什麼,上述語句必須始終在邏輯上是真實的。
這在Firefox和Safari中都會發生。
我錯過了什麼?
的jsfiddle:http://jsfiddle.net/okohll/cKgAp/
你能得到[小提琴](http://jsfiddle.net)請? – yckart
http:// jsfiddle。淨/ okohll/cKgAp/ –