jQuery的ul事件目标-我可以找到li,实际上是事件目标

jQuery ul event target - can i find the li that actually is event target?

本文关键字:目标 事件 li 实际上 我可以 ul jQuery      更新时间:2023-09-26
$("#slider ul").hover(function(){
  //do something
});

是否有一种方法可以找出哪个孩子(li)实际上徘徊在使这个函数工作?

这是一个很长的函数,当最初写为$("#slider ul li")等时,工作,但只有在完全离开滑块ul区域时。当从一个li直接移动到相邻的li等时,我需要它工作

$("#slider ul").hover(function(evt){ 
   var targetElement = evt.target;
   // do something
});

基本上jQuery悬停允许你传入事件。此事件包含触发该事件的目标元素。

听起来你在尝试做两件不同的事情…在ul的悬停按钮上有一个,在li的悬停按钮上也有一个

你可能应该把事件处理程序分开:

var slider = $('#slider ul');
slider.hover(function(){ /* do something*/ });
slider.find('li').hover(function(){ /* do something else with $(this) */ });

另一种选择

试试这个:

$("#slider ul").delegate("li", "mouseover", function(e){   
    var el = e.target;
   //do something
}); 

工作示例:http://jsfiddle.net/hpJJz/