Ho riscontrato un problema durante il controllo dello stato di un div in IE8. Voglio controllare se il mouse è al momento sospeso su alcune div o no. Attualmente in IE8, ottengo il seguente errore: Syntax error, unrecognized expression: hover
. Sotto è il jQuery che causa l'errore:jQuery .is (": hover") In IE8
// This function will close the slideout of widgets
function CloseWidgetPanel()
{
if (!$("#widgets").is(":hover") && !$(".widgetPanel").is(":hover"))
{
if ($("#widgets").is(":animated"))
{
$("#widgets").stop(true, true);
}
$("#widgets").hide("slide", { direction: "right" }, 300);
}
else
{
// We are currently hovering over a panel, so check back in 2 seconds.
setTimeout(CloseWidgetPanel, 2000);
}
}
consideri memorizzare il risultato di '$ ("# widget")' come una variabile invece di query per 4 volte (questo si traduce in più operazioni DOM). – wsanville
': hover' è semplicemente [non un selettore jQuery valido] (http://api.jquery.com/category/selectors/). – Sparky
Penso che sia necessario l'evento '.hover()' (a.k.a. '.on ('hover', ...)'). – Blazemonger