我正在使用Mousetrap创建键盘快捷键,当焦点中的任何字段时它无法正常工作。这是我获取代码的视图演示http://davidwalsh.name/keyboard-shortcuts的链接。当我用来打电话
Mousetrap.bind('ctrl+m', function () {
var button = $('[data-action="next-page"]');
if (button.length) {
button[0].click()
}
});
像这样它不起作用,当鼠标指向文本框或下拉等时。可以为我提供解决方案。提前谢谢。
答案 0 :(得分:21)
默认情况下,当焦点位于输入字段,下拉列表等时,mousetrap会禁用快捷方式。
如果您的问题仅包含一个字段,请在其中加入类mousetrap
。
如果要禁用所有方案,请尝试以下代码
Mousetrap.stopCallback = function () {
return false;
}
这将覆盖初始行为,并允许在屏幕的任何字段中使用快捷方式。
答案 1 :(得分:0)
如果您正在使用input或textarea或select元素,则必须定义mousetrap类:
<textarea name="message" class="mousetrap"></textarea>
上的官方文档中的“文本字段”部分