Heim >Web-Frontend >js-Tutorial >So lösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen
Dieses Mal zeige ich Ihnen, wie Sie den Konflikt zwischen Doppelklick- und Einzelklick-Ereignissen lösen können. Welche Vorsichtsmaßnahmen es gibt, um den Konflikt zwischen Doppelklick- und Einzelklick-Ereignissen zu lösen Ein praktischer Fall, werfen wir einen Blick darauf.
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:
Verwendung des eleganten Modus von CSS-Modulen
Detaillierte Erläuterung der Verwendung von Webpack Hot Refresh und Hot Loading
Das obige ist der detaillierte Inhalt vonSo lösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!