過去にこれを尋ねた他のすべての人が を使用するように言われたことがわかりましたが、:hover
それはもう存在しません。から抜け出す方法はありboolean
ます.hover()
か?
私は現在、ボタンを押したときに a を表示する.hover()
ために使用しています。ただし、マウスがボタンの上になく、マウスが の外にない限り、 が消えないように、チェックを追加したいと思います。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() }
});
これは私が通常使用する別の方法です。非表示を 500 ミリ秒遅らせることで、必要に応じて中断できます (この場合、ユーザーがボタンを離れて 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
});