javascript - 当鼠标指针超出浏览器视口(viewport)时捕获事件

标签 javascript jquery jquery-events

我正在用 JavaScript 编写一个简单的无限计数器,当页面加载时它开始计数。

我想在鼠标指针超出视口(viewport)时停止计数器。

请帮忙?

<script type="text/javascript">
                    
        var i=0;
                        
            setInterval(function (){
               i++;
              
               document.getElementById("counterLoop").innerHTML=i;
               
            },1000);
          
    var viewportWidth  = document.documentElement.clientWidth;
     var viewportHeight = document.documentElement.clientHeight;

     
     function getCursorXY(e) {   
CurX = (window.Event) ? e.pageX : event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
CurY = (window.Event) ? e.pageY : event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);

}

如何捕获视口(viewport)宽度和高度之外的鼠标移动事件?

最佳答案

jQuery(document).mouseleave(function(){console.log('out')})

当鼠标不在您的页面中时,这将触发。只需更改功能即可执行您想要的操作。

你也可以使用:

jQuery(document).mouseenter(function(){console.log('in')});

当鼠标进入页面时触发以再次启动您的计数器。

关于javascript - 当鼠标指针超出浏览器视口(viewport)时捕获事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16028812/

相关文章:

javascript - 为什么 .json() 是异步的?

javascript - 在新窗口中打开 html5 <video> 标签内容(包括视频!)

javascript - 数据 双向切换文本

javascript - 如何从 JavaScript 函数中获取数据

Javascript slider 类

javascript - 添加到行首

javascript - javascript sort() 顺序出现问题

Jquery 显示和隐藏子 div 的问题

javascript - Div 出现在不同 div 的悬停上

javascript - 检测焦点事件是否由用户/浏览器或 jQuery 触发