2010-12-18 5 views
2

ich dieses seltsame Problem habe und finden es schwierig, das Problem zu lösen ..Hilfe zu den Click und Double Click-Ereignisse

Ich bin mit 2 AJAX-Anfragen basierend auf Klick und Doppelklick auf Ereignisse. Wenn ich einfach klicke, wird der untere Bereich mit neuem Inhalt (wie Yahoo Mail) aktualisiert, und wenn ich doppelklicke, öffne ich ein Dialogfenster. Gibt es eine Möglichkeit, dass ich überprüfen kann, ob der Benutzer doppelt geklickt hat, sonst verwenden Sie das Einzelklickereignis?

Derzeit die Art, die ich tue, bekomme ich 3 AJAX-Anfragen für Doppelklick, eine für die Dbclick und die beiden anderen für die Click-Ereignisse .. pls etwas Licht auf teilen, wie mit diesem ... das Skript gehen wird wie folgt ..

$('.dataLink').live("click", function() { 
    $('#contentBottom').load('bottompane.html'); 
}); 

$(".dataLink").live("dblclick", function() { 
    $('.plotter').load('Modalwindow.html').dialog('open'); 
}); 
+0

Überprüfen Sie [diesen Link] (http://www.zxcdev.com/2009/05/jquery-click-double-click/) –

Antwort

1

Formular JQuery Api

Es ist nicht ratsam zu Binden Sie Handler an die Ereignisse click und dblclick für dasselbe Element. Die Folge der ausgelösten Ereignisse variiert von Browser zu Browser, wobei einige Ereignisse mit zwei Klicks erhalten und andere nur einen. Wenn eine Schnittstelle, die unterschiedlich auf Einzel- und Doppelklicks reagiert, nicht vermieden werden kann, sollte das Ereignis dblclick im Click-Handler simuliert werden. Wir können dies erreichen, indem Sie im Handler einen Zeitstempel speichern und bei nachfolgenden Klicks die aktuelle Zeit mit dem gespeicherten Zeitstempel vergleichen. Wenn der Unterschied klein genug ist, können wir den Klick als einen Doppelklick behandeln.

+1

gut können Sie mir mit einem Beispiel helfen .. ?? – Sullan

0

Verwenden Sie "State" Variablen sagen, AjaxLoadingSingle und AjaxLoadingDouble, um zu verfolgen, wenn die Ereignisse auftreten. Am Anfang jedes Aufrufs von ajax prüfen Sie den Status und geben false zurück, wenn er bereits geladen ist und/oder vom anderen Handler behandelt werden soll, andernfalls aktivieren Sie die entsprechende Variable. Deaktivieren Sie die Statusvariablen in Ihrer Ladeformularmethode.

Verwandte Themen