Das jQuery-Plugin hoverIntent http://cherne.net/brian/resources/jquery.hoverIntent.html geht viel weiter als die hier aufgeführten naiven Ansätze. Sie funktionieren zwar, verhalten sich aber nicht unbedingt so, wie die Nutzer es erwarten.
Der stärkste Grund für die Verwendung von hoverIntent ist die Timeout Funktion. Damit können Sie z. B. verhindern, dass ein Menü geschlossen wird, weil ein Benutzer seine Maus etwas zu weit nach rechts oder links zieht, bevor er auf das gewünschte Element klickt. Sie bietet auch die Möglichkeit, Hover-Ereignisse nicht zu aktivieren und auf gezieltes Hovering zu warten.
Beispiel für die Verwendung:
var config = {
sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
interval: 200, // number = milliseconds for onMouseOver polling interval
over: makeTall, // function = onMouseOver callback (REQUIRED)
timeout: 500, // number = milliseconds delay before onMouseOut
out: makeShort // function = onMouseOut callback (REQUIRED)
};
$("#demo3 li").hoverIntent( config )
Weitere Erklärungen hierzu finden Sie unter https://stackoverflow.com/a/1089381/37055