我使用jquery.hotkeys来实现键盘快捷键。
我的代码:
$(document).bind('keydown', 'Ctrl+f', function () {
$('#myid').focus();
return false;
});这可以很好地工作。但如果有任何输入在焦点上,则按键默认为浏览器的原始输入(在本例中为find)。如果我在输入框外单击,jquery.hotkeys会调用所需的函数。
如果我想要获得统一的行为,而不管输入是否集中,我应该怎么做?
发布于 2017-04-20 22:17:03
你可以试一试:
$(document).bind('keydown', function(e) {
if (e.ctrlKey && e.which == 70) {
$('#myid').focus();
return false;
}
});问题是,它没有使用插件。所以,即使它对你有效,也可以不标记这个答案,因为它不能回答最初的问题。
发布于 2017-04-20 21:56:10
参考文档:https://github.com/jeresig/jquery.hotkeys#hotkeys-within-inputs
如果用户关注输入元素或任何contenteditable=为“true”的元素,则不会跟踪
热键,除非您将热键直接绑定到该元素。这有助于避免与正常用户键入发生冲突。如果您不需要这样做,您可以更改以下内容的布尔值以适应需要:
jQuery.hotkeys.options.filterInputAcceptingElements jQuery.hotkeys.options.filterContentEditable jQuery.hotkeys.options.filterTextInputs (已弃用,将在以后的版本中删除)
https://stackoverflow.com/questions/43521510
复制相似问题