Wie kann ich das tun?
event.target
gibt ein HTML-Objekt zurück,
und mein Element ist ein jQuery-Objekt.
Gibt es einen besseren Weg herauszufinden, ob event.target = my_jquery_object, neben dem Vergleich von IDs oder Klassen?
Ich möchte sicherstellen, dass es das gleiche Objekt ist, nicht nur ein Element mit einer ähnlichen Klasse ...
Ich habe versucht mit $(event.target) !== the_element
und es schlägt fehl
Das Element ist am Anfang definiert als $('.something', $(this))
Was ich versuche, ist, eine Box zu schließen, wenn der Benutzer außerhalb davon klickt, aber mit der Bedingung, dass der Klick nicht auf dem Link erfolgte, der die Box an erster Stelle geöffnet hat.
So habe ich das:
%Vor%Und ich möchte eine weitere Bedingung hinzufügen, die bestätigt, dass der Klick nicht auf dem Link erfolgte, der die Box geöffnet hat.
Das funktioniert, aber ich mag es nicht:
if($(event.target).attr('id') != the_element)
:)
Sie können das tatsächliche DOM-Element aus der jQuery mit .get(0)
oder einfach mit the_element[0]
ermitteln. Es wäre jedoch wahrscheinlich besser, dies mit jQuery zu überprüfen.
Verwenden Sie Ihr Beispiel:
%Vor%Vielleicht liege ich falsch, aber es sieht so aus als ob niemand die Frage verstanden hätte? ... Ich möchte auch wissen, wie man JQUERY OBJECT abholt, auf dem ich Listener-Funktion vom EVENT.TARGET, aber keinen DOM-Knoten für eine jquery Objekt !!)) Also ... ich fand keine sehr handliche, aber funktionierende Lösung:
%Vor%Und die Callback-Methode des Listeners modifiziert, um zwei Argumente zu erhalten:
%Vor%Anstatt einfach zu verwenden wie:
%Vor%Eigentlich habe ich einen anderen Weg gefunden, viel praktischer :) Sie müssen nur das Argument data strong> verwenden:
Daten, die an den Handler in event.data übergeben werden, wenn ein Ereignis vorliegt ausgelöst.
Nun sieht mein Code so aus:
%Vor%Tags und Links javascript jquery