$("#slider ul").hover(function(){
//do something
});
有没有办法找出哪个孩子(li
)实际上是为了让这个功能发挥作用?
这是一个很长的函数,当最初编写为$("#slider ul li")
等时,只有当完全离开滑块ul
区域时才能工作。当我从一个li
直接移动到邻近的li
等时,我需要它才能工作。
答案 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
});