js - “阻止”或“重定向”所有键盘和鼠标滚轮动作

问题描述 投票:1回答:2

是否可以使用某些js代码“阻止”或“重定向”所有键盘和鼠标滚轮操作?例如,它可能是与页面主体相关的东西。

该想法是在执行某些js操作期间“防止”用户与页面交互。在这些间隔期间,div出现在整个屏幕上,并在其中心显示动画gif。

注意:如果可能,请提供一些模型或示例,说明如何完成此操作。


更新:执行上述js操作后,删除“块”或“重定向”。

javascript html keyboard-events
2个回答
1
投票

只需使用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>

尝试选择上面代码段中的文字,然后取消选中。


1
投票

您可以在文档级别侦听事件。

[...events].forEach(e => {
  document.addEventListener(e, (ev) => {
    ev.preventDefault()
    ... 
  })
}) 

但肯定有代码味道......我怀疑拦截所有事件都是一个好主意。永远。

© www.soinside.com 2019 - 2024. All rights reserved.