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