javascript - MouseTrap 在模态弹出窗口中失去焦点

标签 javascript jquery mousetrap

我有一个 Web 应用程序,它使用捕鼠器 API 作为键盘快捷键。 我在以下情况下面临困难: 我在模态 (jQueryUI) 中,这个模态有第二个模态警报。当警报关闭时,焦点不会返回到主模态,使快捷方式不起作用,您需要在模态 div 中单击鼠标才能使快捷方式再次工作。 我的问题是:有什么方法可以让捕鼠器忽略对 div 的关注并采取全局行为?
如果没有,有什么办法可以解决这个问题吗?

最佳答案

解决此问题的一种方法是,当第二个模式关闭时,使用 javascript 强制鼠标单击当前模式。
你怎么能不知道当前模态是什么,使用位置(屏幕中心)找到事件字段。
像这样

function ClickCenterScreen() {
    x = $(document).width() / 2;
    y = $(document).height() / 2;
    element = $(document.elementFromPoint(x, y));           
    element = $(element).contents().find("form").find("input[type=text]").first();

    // you need to set focus on element first.
    $(element).focus();
    $(element).click();
}

关于javascript - MouseTrap 在模态弹出窗口中失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21098431/

相关文章:

javascript - 带有两个括号的 PHP 函数 : calc(1)(2)

javascript - JQuery 选择菜单返回错误 Uncaught TypeError : undefined is not a function

javascript - 如何将文件夹导入为Vue组件

javascript - 如果 jQuery AJAX 请求错误,设置变量值

javascript - 在 React 项目中导入捕鼠器 - 无法读取未定义的属性 'bind'

javascript - 捕鼠器node.js;未捕获的类型错误 : callback is not a function

javascript - 是否应该使用数组名称和索引来命名 JavaScript 对象?

javascript - 如何使用 javascript 将 ISO 字符串转换为日期格式 dd/mm/yyyy

Jquery img.load 问题

reactjs - 一种在React中管理键盘快捷键的方法