【问题标题】:Disable all keypresses to elements behind modal禁用对模态后面元素的所有按键
【发布时间】:2020-07-27 08:14:12
【问题描述】:

在 Javascript 或 HTML 中,有没有办法禁用所有用户输入,除了选择的键盘按下?例如,如果我触发了一个显示弹出错误消息的错误,有没有办法阻止任何其他用户在后台对 DOM 进行输入,直到用户使用 Enter 键关闭弹出窗口?

提前谢谢大家!

【问题讨论】:

  • 是框架模式还是你自己的?
  • @epascarello 弹出窗口是来自 Awesome-vue 中的 Noty 库中使用 Vue.js 的模式

标签: javascript html dom


【解决方案1】:

如果我对您的理解正确,您可能希望在使用this related question 打开时禁用模式之外的键盘和鼠标活动。以下是包含的选项的摘要:

如果你通过js打开模态框使用:

$('#myModal').modal({backdrop: 'static', keyboard: false})  

如果您使用数据属性,请使用:

 <button data-target="#myModal" data-toggle="modal" data-backdrop="static" data-keyboard="false">
    Launch demo modal
 </button>`

【讨论】:

  • 谢谢@MUlferts!弹出窗口是来自使用 Vue.js 的 awesome-vue 中的 Noty 库的模式。在 Noty 库中,有一个选项可以在 opts 中将弹出窗口设为模态框,你知道是否有办法抓住 DOM 中的焦点模态框吗?
  • 看起来 vue.js 在 javascript 中打开模式的选择器与上面的 jquery 示例略有不同。 See this question 示例如何从 vue.js 打开。如果您以这种方式打开而不是通过使用数据属性的 HTML 按钮打开,您将在变量中包含 DOM 元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2019-12-09
相关资源
最近更新 更多