使用 jQuery,我如何检测元素是否被“鼠标悬停”?以及该元素的任何子元素?
这是我到目前为止所拥有的:
var hoveredElement; //none per default
;(function($){
$.fn.isHovered = function(){
return (hoveredElement.length && $( this )[0] === hoveredElement[0] );
};
})(jQuery);
$(document).mouseover( function(e){
hoveredElement = $(e.target);
});
$(document).mouseover( function(e){
console.log( $(this).isHovered() );
});
基本上我有以下结构:
<div id='one'>
<div id="two">
<div id="three">
three
</div>
</div>
</div>
当我将鼠标悬停在 2 上时,我想返回 true,无论我将鼠标悬停在 #two 还是 #third 上。
我该如何做到这一点?
Here is what I have so far:
var hoveredElement; //none per default
;(function($){
$.fn.isHovered = function(){
return (hoveredElement.length && $( this )[0] === hoveredElement[0] );
};
})(jQuery);
$(document).mouseover( function(e){
hoveredElement = $(e.target);
});
$(document).mouseover( function(e){
console.log( $(this).isHovered() );
});
Basically I have the following structure:
<div id='one'>
<div id="two">
<div id="three">
three
</div>
</div>
</div>
When I mouse over two, i'd like to return true whether it is #two or #three that I am mousing over.
How do i accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 jQuery
.hover()
API:http://api.jquery.com/将鼠标悬停/,您应该能够通过$(this)
查看当前对象。像这样的东西:
Use the jQuery
.hover()
API: http://api.jquery.com/hover/ and you should be able to view the current object via$(this)
.Something like:
尝试查看 mouseenter 和 mouseleave 它应该给你你正在寻找的东西
Try to look into mouseenter, and mouseleave it should give you what you are looking for
您的代码在这里工作: http://jsfiddle.net/maniator/LjUu7/2/
Your code works here: http://jsfiddle.net/maniator/LjUu7/2/