[英]How defined in jQuery was it a regular click on the same element or double-click?
我如何在jQuery中定義它是經常點擊相同的元素還是雙擊?
例如,我們有這樣的元素:
<div id="here">Click me once or twice</div>
我們需要在定期點擊和雙擊后執行不同的操作。
我試過這樣的事
$("#here").dblclick(function(){
alert('Double click');
});
$("#here").click(function(){
alert('Click');
});
但是,當然,它不起作用,每次只能“點擊”。
然后,有些人告訴我這個:
var clickCounter = new Array();
$('#here').click(function () {
clickCounter.push('true');
setTimeout('clickCounter.pop()', 50);
if (clickCounter.length > 2) {
//double click
clickCounter = new Array(); //drop array
} else {
//click
clickCounter = new Array(); //drop array !bug ovethere
}
});
在這里,我們嘗試設置點擊之間的間隔,然后跟蹤兩個連續的事件,但這有一個問題..它也不起作用。
那么,有人知道怎么做嗎? 或者有人可以分享材料的鏈接,我可以在哪里閱讀它?
來自QuirksMode :
雙擊自動
dblclick事件很少使用。 即使您使用它,也應該確保永遠不要在同一HTML元素上同時注冊onclick和ondblclick事件處理程序。 如果你同時注冊,那么找出用戶實際完成的工作幾乎是不可能的。
畢竟,當用戶雙擊元素時,會在dblclick之前發生一次單擊事件。 此外,在Netscape中,第二次單擊事件也在dblclick之前單獨處理。 最后,警報在這里也很危險。
因此,請將您的點擊和dblclicks分開,以避免並發症。
(強調我的)
你在問題中做了什么,究竟是怎么做的。
$(".test").click(function() {
$("body").append("you clicked me<br />");
});
$(".test").dblclick(function() {
$("body").append("you doubleclicked me<br />");
});
因為,您想要檢測單獨的雙擊。 有一個git項目 。
$("button").single_double_click(function () {
alert("Try double-clicking me!")
}, function () {
alert("Double click detected, I'm hiding")
$(this).hide()
})
它會添加事件來檢測單次雙擊。
希望它現在可以幫到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.