Heim > Artikel > Web-Frontend > So gehen Sie mit dem Konflikt zwischen Doppelklick- und Klickereignissen in JS um
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!