マウスがビューポートから離れたときに関数をトリガーするにはどうすればよいですか?
「html」から「mouseleave」イベントをリッスンします。ただし、Firefox では、「mouseleave」も 2 つの状況でトリガーされます。1.アラートポップアップが表示されたとき(ぼかし/フォーカスリスナーを追加して解決しました) 2.ページを右クリックして、マウスを表示メニューに移動したとき。
私のマウスがまだページにあるとしても、Firefoxはこの動作を「マウスリーブ」と見なしているようです。
これが私のコードです。
$('html').bind('mouseleave',bouncehandler);
var visted = 1;
var bouncehandler = function(e){
var yheight = $(window).height();
if(e.pageX<$('body').width() && e.pageY < yheight ){
alert('leaving');
$('html').unbind('mouseleave',bouncehandler);
}
}
$(window).blur(function(){
$('html').unbind('mouseleave',bouncehandler);
}).focus(function(){
if(visited){
$('html').bind('mouseleave',bouncehandler);
}
});
この問題を解決するにはどうすればよいですか? ありがとう