Heim  >  Artikel  >  Web-Frontend  >  Lösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen

Lösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen

php中世界最好的语言
php中世界最好的语言Original
2018-06-09 10:47:031761Durchsuche

Dieses Mal werde ich Ihnen vorstellen, wie Sie den Konflikt zwischen Doppelklick- und Klickereignissen lösen können. Was sind die Vorsichtsmaßnahmen zur Lösung des Konflikts zwischen Doppelklick- und Klickereignissen? .

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öscht den Verzögerungstimer 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:

Detaillierte Erläuterung des Falles der Verwendung ausgewählter Komponenten

Kapseln Sie den Vue2-Routing-Navigations-Hook und verwenden Sie ihn im tatsächlichen Kampf

Das obige ist der detaillierte Inhalt vonLösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen. 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