右键单击时出现警报两次

时间:2012-10-25 20:24:34

标签: 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";
    }
  }
}

1 个答案:

答案 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";
    }
  }

}