Es scheint, dass die MouseEnter-/mouseleave Methode ist nicht nur auslösen, wenn die Maus der Koordinaten des Client Rechtecken des Ziels eindringt, sondern auch, wenn ein weiteres Element, Aufdecken oder das Ziel abzudecken. Das ist ein Problem, weil ich in meinem mouseenter Rückruf ein anderes Element E auf dem Ziel anzeigen möchte. Ich möchte auch E auf mouseleave verschwinden. Sie können sich das als einen überlappenden Tooltip vorstellen. Wenn ich meine Maus auf das Ziel bewege, wird mouseenter gefeuert und Element E wird es abdecken. Diese Abdeckung löst ein Ereignis mouseleave aus, so dass E verschwindet. Dies löst weiterhin ein mouseenter Ereignis, so dass E wieder erscheinen wird ..... Was ziemlich Kopfschmerzen ist.MouseEnter-/mouseleave ignorierend Abdeckelementes
Also im Grunde, ich frage mich, ob es eine Version von MouseEnter- ist/mouseleave, die etwa nur darum, ob die Maus betritt oder verlässt die Client-Rechtecke des Ziels, unabhängig davon, ob das Ziel abgedeckt ist oder nicht.
update: @arunopjohny erstellt eine JS Geige, um dieses Problem zu veranschaulichen. Siehe Kommentare
Sie können das überlappende Element als Nachkomme des Ziels platzieren, so dass die Ereignisse mouseenter/mouseleave nicht trigered werden –
Das Problem ist, dass das Ziel inline ist, während E Blockebene ist. Put E als Nachfahre des Ziels wird den Browser verrückt .. @ArunPJohny – user690421
ob http://jsfiddle.net/arunpjohny/9fNcY/1/ zeigt Ihr Problem –