2013-04-16 128 views
1

我寫在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); 

} 

我如何能捕捉鼠標移動事件ouside視口的寬度和heigth

+0

你還嘗試過什麼嗎? –

+0

也許這將幫助http://stackoverflow.com/questions/10325132/why-is-document-blur-and-document-focus-not-working-with-safari-or-chr – maxlego

+0

@maxlego我試過上面的鏈接但我切換到其他窗口它不會損失焦點 – pavan

回答

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

當過鼠標是不是在你的頁面,只要你想,這將觸發。只需更改功能即可實現您想要的任何功能。

,你也可以使用:

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

當鼠標進入重新啓動您的計數器的頁面觸發。

+0

這種技術在Chrome 15到56(我當前的版本)中不穩定。但它在Firefox中非常有用。參見:http://stackoverflow.com/questions/7448468/why-cant-i-reliably-capture-a-mouseout-event – Tremours