Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Firefox自动滚动时捕捉鼠标滚轮的事件_Javascript_Jquery_Firefox_Javascript Events_Mouseevent - Fatal编程技术网

Javascript 在Firefox自动滚动时捕捉鼠标滚轮的事件

Javascript 在Firefox自动滚动时捕捉鼠标滚轮的事件,javascript,jquery,firefox,javascript-events,mouseevent,Javascript,Jquery,Firefox,Javascript Events,Mouseevent,我知道有很多问题都在问如何防止Firefox在页面大于视口时激活的自动滚动模式,而您只需按下鼠标中键 但我真正需要的是,当自动滚动处于活动状态时,能够检测到mouseup事件。事件似乎没有传播,所以我不知道鼠标按钮何时(更重要的是在哪里)被释放 我还可以满足于检测自动滚动模式何时消失,鼠标使用何时恢复正常 我准备了一个游戏。启动时,在任意位置单击鼠标中键,框中的文本将更新。如果您按下按钮,更多内容将添加到页面中:单击鼠标中键将激活自动滚动,mouseup事件将永远丢失 这会有结果吗 $(sele

我知道有很多问题都在问如何防止Firefox在页面大于视口时激活的自动滚动模式,而您只需按下鼠标中键

但我真正需要的是,当自动滚动处于活动状态时,能够检测到
mouseup
事件。事件似乎没有传播,所以我不知道鼠标按钮何时(更重要的是在哪里)被释放

我还可以满足于检测自动滚动模式何时消失,鼠标使用何时恢复正常

我准备了一个游戏。启动时,在任意位置单击鼠标中键,框中的文本将更新。如果您按下按钮,更多内容将添加到页面中:单击鼠标中键将激活自动滚动,mouseup事件将永远丢失


这会有结果吗

$(selector).live('mouseup', function(e) { 

    if(e.which == 1) {

        alert("left");

    }if(e.which == 3) {

        alert("right button");

    }else if(e.which == 2) {

        alert("middle button"); 

    }

    e.preventDefault();

});

希望,这有帮助

明白了

尽管皮耶特的回答不正确,但它给了我正确的想法

出于某种原因,如果在
mousedown
处理程序中执行
preventDefault()
,则
mouseup
将开始工作

$(document)
  .on("mousedown", function(e) {
      if (e.which !== 2) return;
      $("#h").text("MouseDown");
      e.preventDefault();
    }).on("mouseup", function(e) {
      if (e.which !== 2) return;
      $("#h").text("MouseUp");
    });

.live
已被弃用并删除。此处相同。第三个
警报
在自动滚动时从不执行。使用
.on
而不是
.bind
——这是现在更标准的方式。单击似乎也不会传播。@DekDekku:单击和滚动是两种不同的方式。滚动-->onmousewhell@DekDekku:您想要滚动或单击什么?我很忙对滚动不感兴趣。我对mouseup感兴趣,正如我在问题中所说的。很高兴,你得到了答案+我也是:现在有一个更大的,但可以等一下:D我看到你的小提琴也用过了。preventDefault()它只是没有重现我遇到的问题。解决方案很重要……不是他们的资源。祝你的项目好运一切都有它自己的方式。(谢谢。)
$(document)
  .on("mousedown", function(e) {
      if (e.which !== 2) return;
      $("#h").text("MouseDown");
      e.preventDefault();
    }).on("mouseup", function(e) {
      if (e.which !== 2) return;
      $("#h").text("MouseUp");
    });