我正在使用jquery.hotkeys来实现键盘快捷键。
我的代码:
$(document).bind('keydown', 'Ctrl+f', function () {
$('#myid').focus();
return false;
});
这很好用。但是如果任何输入是焦点,则击键默认为浏览器原始(在本例中为find)。如果我在输入框外面单击,则由jquery.hotkeys调用预期的函数。
如果我想获得统一的行为,无论输入是否集中,我该怎么办?
答案 0 :(得分:0)
参考文档:https://github.com/jeresig/jquery.hotkeys#hotkeys-within-inputs
如果用户在输入元素中聚焦,则不会跟踪热键 或任何具有contenteditable =“true”的元素,除非你绑定 热键直接到元素。这有助于避免与之发生冲突 普通用户打字。如果你不想这样,你可以改变 适合以下的布尔人:
jQuery.hotkeys.options.filterInputAcceptingElements jQuery.hotkeys.options.filterContentEditable jQuery.hotkeys.options.filterTextInputs(不建议使用,将被删除 在更高版本中)
答案 1 :(得分:0)
你可以试一试:
$(document).bind('keydown', function(e) {
if (e.ctrlKey && e.which == 70) {
$('#myid').focus();
return false;
}
});
问题是,它没有使用插件。因此,即使它对您有效,也请不要将答案标记为答案,因为它没有回答最初的问题恕我直言。