2012-10-25 16 views
0

我有一些代碼檢查鼠標位置的條件,然後如果它是true,它會創建一個警報,然後重定向。右鍵單擊時發生兩次警報

它工作正常,但如果您右鍵單擊某處,然後在提供條件的區域中單擊鼠標左鍵,則會發出警報,單擊確定,然後再次發出警報,單擊確定,然後重定向。

我只希望它提醒一次,然後重定向。

$(document).ready(function(){ 

...

$(document).bind('mousemove', function(e){ 

...

if(20 > e.pageX)){ 
     alert("You did it!"); 
     window.location.href = "http://www.google.com"; 
    } 
    } 
} 
+0

似乎有很多關於收到一個警告兩次的問題,但我檢查,沒有似乎有關聯。 –

回答

3

取消綁定鼠標移動。 mousemove將在鼠標移動時觸發,因此它可以多次在輕微的鼠標移動中調用您的功能。以防止它解除綁定事件一旦它完成工作

$(document).ready(function(){ 
... 

    $(document).bind('mousemove', function(e){ 
... 

    if(20 > e.pageX)){ 
     $(document).unbind('mousemove'); 
     alert("You did it!"); 
     window.location.href = "http://www.google.com"; 
    } 
    } 

}

+0

真棒,這似乎已經做到了! –