.schweben(...) und auf.("schweben"...) anders zu Verhalten
Mithilfe von JQuery-ich bin versucht, die Kette ein paar Funktionen, wenn ein element hat einen hover-Zustand.
Ich würde normalerweise verwenden Sie die .hover
Ereignis-Funktion, aber nach der Lektüre einige tutorials habe ich gelesen, dass mit .on
ist besser als Sie können einen Ereignis-handler zur überwachung aller bubbling events innerhalb des Dokuments.
Aber ich habe Probleme, wenn ich die Kette zwei Funktionen zusammen, etwa so:
$("element").on( "hover", function() {
console.log("one");
}, function() {
console.log("two");
});
Erwartete ich, dass das Ergebnis zu zwei (das war der Fall bei der Verwendung von .hover
) aber stattdessen bekomme ich zwei.
Kann mir jemand erklären, was ich falsch mache oder ob das zu erwartende Verhalten und warum?
Reproduziert .hover(...)
: http://jsfiddle.net/gXSdG/
Reproduziert .on(hover...)
: http://jsfiddle.net/gXSdG/1/
InformationsquelleAutor My Head Hurts | 2012-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hast du einfach nur verwirrt darüber, was geschehen war, in den ersten Platz, es gibt keine Funktion, die die Verkettung in deine Beispiele. Die APIs für
hover
undon
unterschiedlich sind, Lesen Sie Sie sorgfältig, und hier ist eine übersicht, wie es sich auf dein problem:hover
nimmt entweder ein oder zwei Argumente, die beide Funktionen übernehmen. Die erste wird ausgeführt, wenn die Maus betritt, die zweite, wenn die Maus verlässt.on
dauert nur ein Rückruf, und Ihre erste Funktion ist die Funktion nie benutzt, da es verwendet, um verschiedene parameter, und die zweite wird als callback genannt und für alle hover-Ereignisse, das heißt, "Maus in Feld" und Maus verlassen.InformationsquelleAutor Andrew Marshall