Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung, wie die live()-Methode Hover-Ereignisse in jQuery verarbeitet

Detaillierte Erklärung, wie die live()-Methode Hover-Ereignisse in jQuery verarbeitet

黄舟
黄舟Original
2017-06-26 09:25:471501Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn