0
我发现过去询问过的所有其他人都被告知要使用:hover
,但现在不存在了。有没有办法从.hover()
中获得boolean
?我目前使用.hover()
检查鼠标是否在jQuery中的东西?
为了使div
出现时,我mouseover
一个按钮,然后消失,当我mouseout
。但是,我想添加一个检查,以便div
不会消失,除非鼠标不在按钮上并且鼠标不在div
之外。
我发现过去询问过的所有其他人都被告知要使用:hover
,但现在不存在了。有没有办法从.hover()
中获得boolean
?我目前使用.hover()
检查鼠标是否在jQuery中的东西?
为了使div
出现时,我mouseover
一个按钮,然后消失,当我mouseout
。但是,我想添加一个检查,以便div
不会消失,除非鼠标不在按钮上并且鼠标不在div
之外。
这样的事情应该工作...
var $in_div = 0;
$("div").mouseenter(function(){
$in_div = 1;
}).mouseleave(function(){
$in_div = 0;
});
$("button").mouseenter(function(){
$("div").show();
}).mouseleave(function(){
if ($in_div == 1) { $("div").hide() }
});
这是我平时使用,由500ms的延迟隐藏的另一种方法,我们可以,如果用户中断,如果我们想(在这种情况下,离开按钮,但进入div)。
var $delay = 0;
$("button").mouseenter(function(){
clearTimeout($delay); // don't hide
$("div").show();
}).mouseleave(function(){
$delay = setTimeout(function(){ $("div").hide() }, 500);
});
$("div").mouseenter(function(){
clearTimeout($delay); // don't hide
});
':hover'存在,在CSS中,只要你正确地构建标记,你就可以在这里完成这个功能,而不需要任何javascript。 – adeneo
等一下,什么?什么时候':hover'离开...? –
我的错误 - 显然它没有。我指的是对这个问题的回复进行编辑,“这个':hover'选择器被jQuery 1.9.x中的.hover()方法删除了。” http://stackoverflow.com/questions/8981463/detect-if-hovering-over-element-with-jquery – user2223066