我有一个简单的jquery代码:
$(document).ready(function(){
var i=0;
$(this).mouseleave(function(){
$('body').append(++i+'<br/>');
});
});
即使鼠标进入浏览器窗口,此代码也会触发。如何仅在鼠标离开浏览器窗口时才启动它?这对我来说是 chrome 的问题。
此处的工作示例: http://tapasdwivedi.com/test1/
答案 0 :(得分:0)
尝试一下:
$(document).ready(function(){
var i=0;
$(this).mouseenter(function(){
return false;
});
$(this).mouseleave(function(){
$('body').append(++i+'<br/>');
});
});
答案 1 :(得分:0)
对于最新版本的Chrome,这看起来有些问题。这里讨论的是:https://github.com/carlsednaoui/ouibounce/issues/48和这里:https://github.com/carlsednaoui/ouibounce/pull/55正在尝试为我正在尝试实现此功能的插件开发。
我现在看到的唯一解决方法是添加一个3000毫秒的setTimeout,假设大多数访问者将进入窗口3秒钟:
setTimeout(function(){
$(document).mouseleave(function(e){
if(i==0){
$('body').append('hello<br/>');
++i;
}
});
},3000);
这不是一个很好的答案,但我保留在这里,直到有人给出一个坚实的答案。