gpt4 book ai didi

javascript - 取消 IE9 触摸滚动事件并调用 Mousemove,可能吗?

转载 作者:行者123 更新时间:2023-11-29 15:47:40 26 4
gpt4 key购买 nike

在装有 IE9 和多点触控屏幕(如 HP TouchSmart)的 Windows 7 计算机上,如果您触摸屏幕上的页面高度足以显示滚动条,然后向上或向下移动手指,页面就会滚动。这似乎不会触发任何 mousemove 事件。如果您触摸屏幕并最初向左或向右移动而不是上下移动,它会触发 mousemouse 事件。

我不想取消此滚动并导致浏览器调用正常的 mousemove 事件。这可能吗?

编辑:IE9 中似乎没有触摸事件 Does IE9 support Touch events on Windows 7?

编辑 2:关于此的其他几个兴趣点。首先是浏览器经常在手势触发滚动时触发 mousewheel 事件,这通常可以被捕获和取消。其次,在这种特殊情况下,您可以使用此 hack $(document).bind('mousedown mouseup click dblclick', function (e) { }); 防止在 IE9 上滚动有时会,对我来说没有任何意义 - 可能可以使用更少的事件绑定(bind),但我没有很好地访问设备来轻松测试。

最佳答案

在花了一些时间测试了各种抑制默认事件响应的方法之后,我不知道如何抑制滚动事件。但是,您应该能够从滚动事件处理程序中触发 mousemove 事件。

window.onscroll = function(e){
element.onmousemove();
}

//jquery
$(window).scroll(function(e){ element.mousemove(); } );

A primitive example .

我认为有两件事你可以尝试阻止自动滚动:将溢出(或溢出-y)设置为隐藏在你的 body 元素上或作为你的 onscroll 处理程序的一部分,试图滚动回到你的原点。将 body 的溢出设置为隐藏将阻止滚动并隐藏滚动条,但我不确定这是你想要的。

关于javascript - 取消 IE9 触摸滚动事件并调用 Mousemove,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202804/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com