Jquery: Selektor für ein Ereignis auf einem Element, aber nicht auf seinen untergeordneten Elementen?

8

Ich würde gerne wissen, ob dies mit einem jquery-Selektor möglich ist, um ein Ereignis an ein Element, aber nicht an seine untergeordneten Elemente zu binden. Eigentlich habe ich zwei Divs auf der anderen, in absoluter Position, und ich möchte das gleiche Ereignis auf den zwei Divs erkennen, aber nicht, wenn das Ereignis auf einem Kind des Top Div passiert (ich meine, ich möchte um zu erkennen, ob das Ereignis auf den transparenten Teilen des oberen Divs ist, als ob es auf dem unteren Div passiert wäre.

zum Beispiel, hier, #desktop und #apps sind aufeinander, mit der gleichen festen Breite und Höhe, und ich würde gerne ein Ereignis erkennen an: #desktop, oder auf #apps, aber nicht auf .stuff

HTML

%Vor%

JavaScript

%Vor%

Wenn das mit einem Selektor nicht möglich ist, habe ich mir überlegt, so etwas zu machen, was zufriedenstellend funktioniert:

%Vor%     
Jo Pango 05.07.2011, 18:27
quelle

1 Antwort

17

Die Handler sind nur an die übergeordneten Elemente gebunden. Das Problem ist, dass die Ereignisse von den Nachkommen auftauchen und den Handler auslösen, der an den Elternknoten angehängt ist.

Sie könnten event.target testen, um zu sehen, ob derselbe Wert wie this (das Element, an das der Handler gebunden ist) ist.

%Vor%

Beispiel: Ссылка (Öffnen Sie Ihre Konsole, um zu sehen, wann der Code die ID von protokolliert das hovered Element)

Jetzt wird der Code in if nur dann ausgelöst, wenn Sie die Maus nicht über ein Elternelement, sondern über ein Nachkommenelement bewegen.

    
user113716 05.07.2011, 18:31
quelle