我在
jquery中使用鼠标滚轮来增加div的数量,数字正确增加但是在Firefox中没有停止滚动.
$(document).ready(function(){ $('#test').bind('mousewheel DOMMouseScroll',function(event){ var currentValue = parseInt($('#test').text(),10),newValue = currentValue + 1; $('#test').text(newValue); event.preventDefault(); }); });
小提琴:http://jsfiddle.net/rHVUn/
小提琴使用标准鼠标滚轮检测,但我也使用了Brandon Aaron的鼠标滚轮插件,它也有同样的问题.
删除更新文本的行(我也尝试过html())解决了问题,但这是代码的关键部分,无法删除.
有谁知道如何解决这个问题?
谢谢
更新:我发现问题只发生在我的鼠标直接放在文本上方,如果我的鼠标在框内而不是在文本上(在填充内)滚动停止
解决方法
尽管阻止了滚动事件,但当我搜索Firefox滚动问题时,这仍然是最热门的帖子之一.
Firefox在鼠标滚动上触发两个事件:DOMMouseScroll和MozMousePixelScroll.请参阅https://github.com/jquery/jquery-mousewheel/issues/45#issuecomment-11749359有必要阻止MozMousePixelScroll事件.
根据https://developer.mozilla.org/en-US/docs/Web/Events/MozMousePixelScroll,最现代的活动名称是wheel,它似乎适用于我的Firefox(55)和Chrome(61)版本.可能这是你应该使用的.见https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/WheelEvent