Onkel Schnitzel: jQuery: Mausposition prüfen mit .is(":hover")

Beitrag lesen

Nabend allerseits,

ich habe auf meiner Seite ein Submenü, das ich beim hovern per jQuery aufklappen lasse:

$("#mainNavi > ul > li").hover(function() {
  $(this).find("nav").stop( false, false ).slideToggle(250);
});

Nun ist aber das Problem, dass beim Klick auf den Hauptmenüpunkt und dem anschließenden Laden der Seite sich die Maus ja immernoch über dem Menüpunkt befindet und deswegen das Submenü sofort wieder aufklappt, was ich ziemlich hässlich finde.

Deshalb würde ich gerne prüfen, ob sich nach dem Laden der Seite der Mauszeiger über dem Navigationmenü befindet, dann ein flag setzen, das das hovern unterbindet und nach .mouseleave() das flag wieder zurücksetzen.

Dazu wollte ich nun .is() nutzen:

$("#mainNavi > ul > li").is(":hover") => liefert mir allerdings die Fehlermeldung: "...unsupported pseudo: hover"

Ändere ich testweise den Selector:

$("#mainNavi").is(":hover") => kommt keine Fehlermeldung, allerdings bekomme ich immer den Rückgabewert false, egal, ob sich die Maus über der #mainNavi befindet oder nicht.

Weiß jemand, warum das so ist? Ist mein Vorgehen vom Ansatz her richtig oder hat jemand eine bessere Idee? Es soll im Prinzip so sein, wie hier: www.fcbayern.de

Besten Dank schonmal