Heim > Artikel > Web-Frontend > Detaillierte Erklärung, wie die live()-Methode Hover-Ereignisse in jQuery verarbeitet
hover([over,]out)
Ein simuliertes Hover--Ereignis (die Maus bewegt sich zu einem Methoden auf und außerhalb des Objekts
Wenn sich die Maus über ein passendes Element bewegt, wird die angegebene erste Funktion ausgelöst.
Wenn sich die Maus aus diesem Element herausbewegt, wird die angegebene zweite Funktion ausgelöst.
$('.myp').hover(function() { doSomething... }, function() { doSomething... });
Das Problem besteht darin, dass einige Elemente wie Menüs dynamisch über AJAX geladen werden, wenn die Hover-Methode ausgeführt wird,
menu Es wurde noch nicht geladen, daher müssen wir eine andere Methode live() von jquery verwenden. Die Methode
.live() kann für ein Element wirksam sein, das dies getan hat wurde nicht zum DOM hinzugefügt. Dies liegt daran, dass die Ereignisdelegation verwendet wird:
Die an das Vorfahrenelement gebundene Funktion Ereignisbehandlung kann auf Ereignisse reagieren, die bei Nachkommen ausgelöst werden.
Der an .live() übergebene Ereignishandler ist nicht an das Element
gebunden, sondern wird als besonderes Ereignis behandelt Die Verarbeitungsfunktion ist an den Wurzelknoten des DOM-Baums gebunden.
$('.myp').live('hover',function(event){ if(event.type=='mouseenter'){ doSomething... }else{ doSomething... } })
Erfordert jQuery 1.4.3+
Da Hover kein Standardereignis ist, kann es nicht direkt mit Live verarbeitet werden, daher wird stattdessen die folgende Methode mit verwendet gleicher Effekt.
$("table tr").live({ mouseenter: function() { //todo }, mouseleave: function() { //todo } });
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie die live()-Methode Hover-Ereignisse in jQuery verarbeitet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!