Dieser Artikel beschreibt die Methode des Koexistierens der Klick und Doppelklicken Sie in JavaScript. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Im Prozess der Webentwicklung stoßen wir häufig auf dieses Problem: Registrieren Sie gleichzeitig ein Doppelklick-Ereignis für einen Link oder registrieren Sie ein Klick- oder Doppel-Ereignis auf einer Schaltfläche oder einem anderen Element. Zu diesem Zeitpunkt finden wir, dass das Doppel-Klick-Ereignis auf der Webseite niemals funktionieren wird. Der Grund dafür ist, dass wenn wir einmal klicken, es von einem Hyperlink oder einem Klickereignis abgefangen wird. Dieser Artikel beschreibt eine spezifische Methode zur Lösung dieses technischen Problems. Das Implementierungsprinzip dieser Lösung ist, dass sowohl das Klickereignis als auch das Doppel-Klick-Ereignis dieselbe Methode aufrufen. Wir beurteilen, ob es sich um ein Klick oder ein Doppelklick-Ereignis handelt, das auf dem Intervall zwischen den beiden Mausklicks basiert. Wenn das Klickereignis kommt, rufen Sie es nicht zuerst an und warten Sie einen kurzen Zeitraum. Wenn Sie nach diesem Zeitraum nicht als nächstes klicken, rufen Sie die entsprechende Operation des Klickens an. Wenn ein nächster Klick vorhanden ist, rufen Sie Doppelklick an.
Für eine detaillierte Beschreibung nehmen Sie bitte an der folgenden Codeliste teil:
Kopieren Sie den Code wie folgt: <html>
<kopf>
<titels> JavaScript realisiert Klick und Doppelklicken Sie mit Koexistenz </title>
<Meta name = "generator" content = "editplus">
<Meta name = "Autor" content = "//www.vevb.com/">
<Meta name = "keywords" content = "">
<Meta name = "Beschreibung" content = "">
</Head>
<body>
<Script Language = "JavaScript">
<!-
var dctime = 250; // DoubleClick -Zeit
var dcdelay = 100; // Keine Klicks nach DouBleClick
var dcat = 0; // Zeit des DoubleClick
var Savvent = null; // Ereignis speichern, um Doclick () zu bearbeiten.
var SaveVtTime = 0; // Zeit des Klickenereignisses sparen.
var Savto = null; // Handle von Click SetTimeout
Funktion showme (txt) {
document.forms [0] .Emlements [0] .Value += txt;
}
Funktion Handle (was) {
Schalter (was) {
Fall "Klick":
Savevent = welches;
d = neues Datum ();
SaveVtTime = D.GetTime ();
Savto = setTimeout ("Doclick (Savevent)", dctime);
brechen;
Fall "DblClick":
dodoublleclick (was);
brechen;
Standard:
}
}
Funktion Doclick (was) {
if (SaveVtTime - dcat <= 0) {
false zurückgeben;
}
showme ("click");
}
Funktion dodoublleclick (welche) {
var d = neues Datum ();
dcat = d.getTime ();
if (savto! = null) {
Savto = null;
}
Showme ("Doppelklick");
}
//->
</Script>
<p>
<a href = "JavaScript: void (0)"
Onclick = "Handle (Event.Type)"
ONDBLCLICK = "Handlewisely (Event.Type)" "
style = "Farbe: Blau; Schriftfamilie: Arial; Cursor: Hand">
Klicken Sie hier, um die Ergebnisse anzuzeigen:
</a>
</p>
<form>
<tabelle>
<tr>
<td valign = "top">
Ereignismodus: <textarea rows = "4" cols = "60" Wrap = "Soft"> </textArea>
</td>
</tr>
<tr>
<td valign = "top">
<Eingabe type = "reset">
</td>
</tr>
</table>
</form>
</Body>
</Html>
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.