簡體   English   中英

如何定義jQuery是定期點擊相同的元素還是雙擊?

[英]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.

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