Heim  >  Artikel  >  Web-Frontend  >  So gehen Sie mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS um

So gehen Sie mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS um

php中世界最好的语言
php中世界最好的语言Original
2018-05-25 14:55:231680Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS umgehen. Was sind die Vorsichtsmaßnahmen für den Umgang mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS? Hier sind praktische Fälle.

Im selben Funktionsblock im JS-Code werden Klick- und Doppelklick-Ereignisse normalerweise gleichzeitig verwendet, aber wir stoßen normalerweise auf ein Problem, nämlich dass beim Doppelklicken ein Doppelklick-Ereignis ausgeführt wird , und es wird auch ein Doppelklick-Ereignis ausgeführt. Solche Konflikte treten häufig in ZTree und DHTMLX auf.

Um den Konflikt zwischen den beiden Ereignissen zu lösen, müssen Sie das Klickereignis verzögern. Wenn während dieser Verzögerung ein Klickereignis erkannt wird, werden die beiden Klicks als Doppelklickereignis betrachtet und dann nur ausgeführt das Doppelklick-Ereignis und löschen Sie den Verzögerungs- Timer sofort, um zu verhindern, dass der zweite Klick wirksam wird.

Der spezifische Code lautet wie folgt:

var clickFlag = null;//是否点击标识(定时器编号)
function doOnClick(...) {
  if(clickFlag) {//取消上次延时未执行的方法
    clickFlag = clearTimeout(clickFlag);
  }
  
  clickFlag = setTimeout(function() {
    // click 事件的处理
  }, 300);//延时300毫秒执行
}
function doOnDblClick(...) {
  if(clickFlag) {//取消上次延时未执行的方法
    clickFlag = clearTimeout(clickFlag);
  }
  
  // dblclick 事件的处理
}

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln zu PHP Chinesische Website!

Empfohlene Lektüre:

So schreiben Sie eine benutzerdefinierte Komponente mit Vue

Wie Sie Hot Refresh und Webpack Hot richtig verwenden wird geladen

Das obige ist der detaillierte Inhalt vonSo gehen Sie mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS um. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn