是否可以使用某些js代码“阻止”或“重定向”所有键盘和鼠标滚轮操作?例如,它可能是与页面主体相关的东西。
该想法是在执行某些js操作期间“防止”用户与页面交互。在这些间隔期间,div出现在整个屏幕上,并在其中心显示动画gif。
注意:如果可能,请提供一些模型或示例,说明如何完成此操作。
更新:执行上述js操作后,删除“块”或“重定向”。
只需使用preventDefault
:
var events = "mousedown mouseup click dblclick mousemove mouseover mouseout mouseenter mouseleave scroll contextmenu keydown keypress keyup";
events.split(" ").forEach(event => document.addEventListener(event, e => e.preventDefault()));
<p>This is some example text. Please ignore it.</p>
尝试选择上面代码段中的文字,然后取消选中。
您可以在文档级别侦听事件。
[...events].forEach(e => {
document.addEventListener(e, (ev) => {
ev.preventDefault()
...
})
})
但肯定有代码味道......我怀疑拦截所有事件都是一个好主意。永远。