jQuery ul事件目标 - 我能找到实际上是事件目标的li吗?

时间:2011-04-12 14:48:37

标签: javascript events target jquery

$("#slider ul").hover(function(){
  //do something
});

有没有办法找出哪个孩子(li)实际上是为了让这个功能发挥作用?

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

3 个答案:

答案 0 :(得分:4)

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

基本上jQuery hover允许你传递事件。此事件包含触发事件的目标元素。

答案 1 :(得分:0)

听起来你正试图做两件事...... ul悬停一件事,然后再li悬停

您应该拆分事件处理程序:

var slider = $('#slider ul');

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

答案 2 :(得分:0)

另一种选择

试试这个:

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

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