簡體   English   中英

檢測瀏覽器/設備是否支持雙擊事件

[英]Detect if browser/device supports double click events

我有一個包含多行的表。 通過在行上單擊一次可以選擇每一行。 雙擊該行將打開該行在同一窗口中表示的數據表。

使用移動設備時,雙擊(雙擊?)不會觸發我的雙擊事件,移動瀏覽器只會縮放。

在考慮之后,我認為移動設備通過單擊/點擊打開數據表更有意義。

現在我在使用以下代碼設置表的事件監聽器時檢測它是否是移動設備瀏覽器:

if( /Android|webOS|iPhone|iPad/i.test(navigator.userAgent) ) {
    // Single click event bind, open
} else {
    // Single click event bind, select
    // Double click event bind, open
}

我沒有依賴用戶代理,而是更願意進行一些功能檢測,因此任何無法進行雙擊的設備都可以工作。

我試過檢測我的Android設備上是否有dblclick事件,確實如此。
我想這是有道理的,因為瀏覽器確實支持它,但設備只是在雙擊時觸發不同的事件。

我能想到的另一件事是檢查touchstart等事件是否可用,但這似乎與檢查用戶代理一樣錯誤。

有沒有什么好方法可以檢測瀏覽器/客戶端是否支持雙擊?

也許嘗試使用超時來檢查第一次單擊后是否有另一次單擊

$(Elm).click(function(evnt){
  clicks++;
  if (clicks == 1) {
    setTimeout(function(){
      if(clicks == 1) 
        // Single click event bind, open
       else 
         // Double click event bind, open
    },2000);
});

暫無
暫無

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

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