Situation 1
Wenn Sie in einem DOM-Objekt sowohl Klick- als auch Doppelklickereignisse binden und in diesem DOM-Objekt ein Doppelklickereignis auftritt, löst das erste Klick ein Klickereignis aus, das zweite Klick löst auch ein Doppelklickereignis oder ein Klickereignis (IE7 und Firefox) aus.
Lösung:
<button onclick = "test (1)" ontdblclick = "test (2)"> </button> <script Language = "JavaScript"> var i = 1; Funktionstest (n) {i = n; var val = setTimeout ("call ();", 250); if (i == 2) {clearimeout (val);}} Funktion call () {if (i == 1) {alert ('klick');} else if (i == 2) {alert ('dblclick');}} </script>erklären:
Der erste Klick zeichnet die Zeit des Klickens auf und legte die Zeitüberschreitung des Klickereignisses fest (250 ms ist angemessener). Bestimmen Sie beim Klicken auf das zweite Klick die Zeit des Klickens und das Zeitintervall des letzten Klicks. Wenn es geringer ist als das angegebene Ereignisintervall (z. B. 250 ms), wird es als Doppelklick-Ereignis beurteilt und das festgelegte Zeitüberschreitungsabschluss löschen (vermeiden Sie das Auslösen des Klickenereignisses).
Der zweite Typ:
<title> Unterscheiden Sie zwischen Klick und Doppelklick-www.vevb.com </title> <script type = "text/javaScript"> var flag = 0; Funktion ClickTest () {if (! Flag) {setTimeout ("tt2 ();", 300); } Flag ++;} Funktion reset () {flag = 0;} Funktion SingleClick () {var result = document.getElementByIdx_x ('result'); result.innerhtml = result.innerhtml+"klicken <br>"; Reset ();} Funktion dobuleclick () {var result = document.getElementByIdx_x ('Ergebnis'); result.innerhtml = result.innerhtml+"klicken <br>"; Reset ();} Funktion dobuleclick () {var result = document.getElementByIdx_x ('Ergebnis'); result.innerhtml = result.innerhtml+"klicken <br>"; Reset ();} Funktion dobuleclick () {var result = document.getElementByIdx_x ('Ergebnis'); result.innerhtml = result.innerhtml+"klicken <br>"; Reset ();} Funktion dobuleclick () {var result = document.getElementByIdx_x ('Ergebnis'); result. reset ();} function tt2 () {if (flag == 1) {SingleClick (); } else {dobuleclick (); }} </script> </head> <body> <Eingabe type = "button" ondblclick = "klickTest ();" Onclick = "ClickTest ();" value = "Klicken Sie auf Test" /> <div id = "result"> < /div>Die schnelle Lösung für das Konfliktproblem von JS Mouse Click und Double-Click-Ereignissen oben ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.