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

时间:2019-03-24 05:19:07

标签: javascript html keyboard-events

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

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

注意:请尽可能提供一些模型或示例。


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

2 个答案:

答案 0 :(得分:1)

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

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

但是肯定有代码味道……我怀疑拦截所有事件是否是一个好主意。曾经

答案 1 :(得分: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>

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