Heim > Artikel > Web-Frontend > Lösen Sie den Konflikt zwischen Doppelklick- und Klickereignissen
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!