Match event.target mit vorhandenem jQuery-Objekt

8

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)

:)

    
Alex 06.11.2011, 14:53
quelle

4 Antworten

9

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.

%Vor%

Verwenden Sie Ihr Beispiel:

%Vor%     
tvanfosson 06.11.2011, 15:02
quelle
5

Versuch -

%Vor%

the_element[0] sollte Ihr jQuery-Objekt auspacken und ein "normales" DOM-Objekt zurückgeben, das Sie dann mit dem von event.target zurückgegebenen DOM-Objekt vergleichen können.

    
ipr101 06.11.2011 14:59
quelle
-2

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%     
quelle
-2

Eigentlich habe ich einen anderen Weg gefunden, viel praktischer :) Sie müssen nur das Argument data verwenden:

  

Daten, die an den Handler in event.data übergeben werden, wenn ein Ereignis vorliegt   ausgelöst.

Nun sieht mein Code so aus:

%Vor%     
quelle

Tags und Links