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
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)