Problem:
Wenn Sie den Mauszeiger über ein untergeordnetes Element innerhalb eines bewegen Wenn ein Div absolut positioniert ist, wird das Onmouseout-Ereignis für das Div vorzeitig ausgelöst. Dies geschieht aufgrund von Event-Bubbling, bei dem untergeordnete Elementereignisse an ihre übergeordneten Elemente weitergegeben werden.
Lösung: Ohne jQuery
Um zu verhindern, dass das onmouseout-Ereignis ausgelöst wird, wenn untergeordnete Elemente schweben verwenden Sie stattdessen das onmouseleave-Ereignis. Hier ist ein Beispiel:
<div class="outer" onmouseleave="yourFunction()"> <div class="inner"> </div> </div>
Lösung: Mit jQuery
jQuery stellt das Ereignis „mouseleave()“ bereit, das die gleiche Funktionalität erreicht:
$(".outer").mouseleave(function(){ //your code here });
So funktioniert es:
Nur die Onmouseleave-Veranstaltung Wird ausgelöst, wenn die Maus das angegebene Element verlässt. Durch die Verwendung dieses Ereignisses für das übergeordnete Div wird sichergestellt, dass das Mouseout-Ereignis nur dann ausgelöst wird, wenn die Maus das Div vollständig verlässt, selbst wenn sie sich über untergeordneten Elementen befindet.
Das obige ist der detaillierte Inhalt vonWie kann ich vorzeitige „onmouseout'-Ereignisse bei absolut positionierten Divs mit untergeordneten Elementen verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!