Rumah  >  Artikel  >  hujung hadapan web  >  jQuery中关于live()方法如何对hover事件的处理详解

jQuery中关于live()方法如何对hover事件的处理详解

黄舟
黄舟asal
2017-06-26 09:25:471433semak imbas

hover([over,]out)

一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法

当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数

当鼠标移出这个元素时,会触发指定的第二个函数。

$('.myp').hover(function() {
	doSomething...	
}, function() {
	doSomething...	
});


而问题是有些元素比如菜单是通过AJAX动态加载的,hover方法执行的时候

菜单还没加载出来呢,所以就要用到jquery的另一个方法live()

.live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:

绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。

传递给 .live() 的事件处理函数不会绑定在元素上,

而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。

$('.myp').live('hover',function(event){
	if(event.type=='mouseenter'){
		doSomething...	
	}else{
		doSomething...	
	}
})


要求 jQuery 1.4.3+ 
因为hover不是标准的事件,因此无法直接使用live进行处理,故使用以下方法代替,效果一样。

$("table tr").live({
   mouseenter:
   function()
   {
      //todo
   },
   mouseleave:
   function()
   {
      //todo
   }
});

Atas ialah kandungan terperinci jQuery中关于live()方法如何对hover事件的处理详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn