2013-08-05 8 views
7

Diese Frage ist info bezogen. Ich bin neu in jquery. Ich bin ziemlich erfahren in HTML & CSS.Mouseover v/s Hover in Jquery

Was ist der Unterschied zwischen Hover & Mouseover in Jquery. Werden beide nicht aktiviert, wenn Sie über ein Element schweben.

+1

Haben Sie die Dokumentation gelesen? – SLaks

Antwort

6

Die Hover() - Funktion ist eine höhere Ebene - sie ist so aufgebaut, dass sie Funktionen aufruft, die sowohl ein mousentereignis als auch ein mouseleave-Ereignis behandeln. Dies ist sehr praktisch für ein UI-Element, das einen Hover- und Normalzustand aufweist (z. B. eine Schaltfläche).

Die mouseover() - Funktion bindet sich spezifisch an das mouseover-Ereignis. Es ist am besten für Situationen, in denen es dich nur interessiert, wenn die Maus die Grenze zu einem Element überschritten hat und es dir nicht wirklich wichtig ist, was passiert, wenn es verlässt. Es ist auch die Funktion, die aufgerufen wird, wenn Sie das Ereignis auf einem Element auslösen möchten.

ERKLÄRUNG VON: http://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions

9

Mouseover(): Feuer Veranstaltungen für die Kinder dieses Elements.

hover(): Hover funktioniert tatsächlich mit mouseenter und mouseleave ohne feuern für Kinder.

Hover-Effekt zu erreichen, müssen wir beide mouseover und mouseout Ereignis

$("element").mousover(function(){ 
    //do something over 
}).mouseout(function() { 
    //do something out 
}); 

während in Hover() ist es nur ein Rückruf.

$("element").hover(
    function() { 
    //do something enter 
    }, 
    function() { 
    //do something exit 
    } 
); 

Von David Jones experience:

Im Projekt, das ich einen div-Container auf der I Setup arbeitete Mouseover- und mouseout zu verwenden, die einige html Registerkarten in den Behälter gegeben. Dies schien völlig in Ordnung, aber ich entdeckte , dass die Verwendung von mouseover/mouseout bedeutete, dass die hinzugefügte html verschwinden, wenn ich versuchte, mit ihm zusammen mit den anderen zu interagieren, die ich in Konflikt hatte.

Am Ende benötigt meine besondere Lösung mich mouseenter und mouseleave mit der Live-Funktion, anstatt mit Hover, weil ich mit generierten HTML arbeitete.