当字段处于焦点时,Mousetrap.bind无法正常工作?

Jag*_*ash 10 jquery jquery-ui keyboard-shortcuts mousetrap

我正在使用Mousetrap创建键盘快捷键,当焦点中的任何字段时它无法正常工作.这是我获取代码的视图演示http://davidwalsh.name/keyboard-shortcuts的链接.当我用来打电话

Mousetrap.bind('ctrl+m', function () {
    var button = $('[data-action="next-page"]');
    if (button.length) {
        button[0].click()
    }
});
Run Code Online (Sandbox Code Playgroud)

像这样它不起作用,当鼠标指向文本框或下拉等时.可以为我提供解决方案.提前致谢.

Gab*_*oso 21

默认情况下,当焦点位于输入字段,下拉列表等时,mousetrap会禁用快捷方式.如果您的问题只有一个字段,请mousetrap在其中包含该类.如果要禁用所有方案,请尝试以下代码

Mousetrap.stopCallback = function () {
     return false;
}
Run Code Online (Sandbox Code Playgroud)

这将覆盖初始行为并允许屏幕的任何字段中的快捷方式.

  • 从v1.5.0开始,你需要制作Mousetrap.prototype.stopCallback = {...} (11认同)