javascript - 右键单击时出现两次警报

标签 javascript jquery redirect alert

我有一些代码可以检查鼠标所在位置的条件,如果是的话,它会创建一个警报,然后重定向。

它工作正常,但如果您右键单击某处,然后左键单击条件为真的区域,那么它会发出警报,您单击“确定”,然后它再次发出警报,您单击“确定”,然后它会重定向。

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

$(document).ready(function(){

...

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

...

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

最佳答案

解除鼠标移动绑定(bind)。 mousemove将在鼠标移动时触发,因此可以在较小的鼠标移动中多次调用您的函数。防止它在工作完成后解除绑定(bind)事件

$(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";
    }
  }

}

关于javascript - 右键单击时出现两次警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076679/

相关文章:

javascript - ASP.Net Ajax 工具包客户端代码和 javascript 问题

javascript - fadeOut 然后改变图像

index.php 的 .htaccess 重定向打破了 404 页面

javascript - 有没有办法从 Internet Explorer 中的错误对象获取行号或堆栈跟踪?

javascript - 自动播放轮播?

javascript jquery datatables 未定义不是一个函数

asp.net - 当 url 导致临时重定向 (http 302) 时,索引的内容是什么?

.htaccess - 将带有FQDN的URL(TLD后加点)重定向为与PQDN等效的URL

javascript - react native : can't get ellipsizeMode to work

php - 无法在 Phonegap android 中使用 AJAX、jQuery 和 php 将数据存储在 mysql 中