Heim  >  Artikel  >  Web-Frontend  >  Anmerkungen zur JavaScript-Studie (6) Verzögern Sie die Auslösung, um zu verhindern, dass onDbClick das onClick-Ereignis auslöst

Anmerkungen zur JavaScript-Studie (6) Verzögern Sie die Auslösung, um zu verhindern, dass onDbClick das onClick-Ereignis auslöst

黄舟
黄舟Original
2016-12-19 17:36:241690Durchsuche

Standardmäßig wird ein Klickereignis ausgelöst, wenn ein Doppelklickereignis auftritt, aber manchmal ist dies nicht das, was wir wollen. Wie können wir also das Auslösen des Klickereignisses beim Doppelklicken blockieren? Es gibt eine Methode zur Verzögerung der Ausführung im Internet. Die allgemeine Idee ist wie folgt:
1. Deklarieren Sie eine globale Timer-Variable wie: clickTimer
2. Stellen Sie den Timer im Agenten-Klickereignis ein wird standardmäßig nach 220 Millisekunden ausgelöst
3. Beurteilen Sie die Timer-Variable im Doppelklick-Ereignis. Wenn die Variable nicht NULL ist, bedeutet dies, dass das Klick-Ereignis vor dem Doppelklick-Ereignis ausgelöst wurde Brechen Sie den Timer ab, da die Verarbeitungsfunktion des tatsächlichen Klickereignisses erst 220 Millisekunden später ausgelöst wird. Wenn der Timer also zu diesem Zeitpunkt endet, wird die eigentliche Verarbeitungsfunktion des Klickereignisses nicht ausgeführt.

Angehängter Code:
1var timerClick=null;
2//Click-Ereignis-Proxy
3function _onNodeClick(id){
4 //onNodeClick ist die eigentliche Click-Event-Handling-Funktion
5 timerClick=window.setTimeout("onNodeClick('"+id+"')",220);
6 }
7//Doppelklick-Ereignisbehandlungsfunktion
8function _onNodeDbClick(id ){
9 if(timerClick){
10 window.clearTimeout(timerClick);
11 } Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)

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