首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery hotkeys...not如此全球化

jQuery hotkeys...not如此全球化
EN

Stack Overflow用户
提问于 2012-05-01 18:24:36
回答 2查看 2K关注 0票数 10

基本上,我用雷希先生的jQuery热键插件来捕捉和处理ctrl+o等快捷键.

好吧,也许我不支持这个概念,但我的印象是文档中任何地方触发的ctrl+o都会被文档热键处理程序捕获。

例如,以下代码一般都能工作.

代码语言:javascript
运行
复制
jQuery(document).bind('keydown', 'ctrl+o', fn);

但是,如果用户在输入框中触发热键,则会不幸地失败。

只有当我做以下操作时,它才能起作用:

代码语言:javascript
运行
复制
jQuery('body, input').bind('keydown', 'ctrl+o', fn);

这对我的健康非常不利,因为每次向DOM中添加新的输入框时,都会绑定该死的处理程序。更糟糕的是,对于像CodeMirror这样复杂的小部件,我不知道该绑定到什么。

不知道我的问题是否合理,也许我使用了错误的方法?我还尝试绑定到以下对象,但没有成功:windowdocumentbodydiv[contains the whole page]

NB:,你可以在这里试试

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-01 18:40:11

这实际上是插件的预期功能:

代码语言:javascript
运行
复制
// Don't fire in text-accepting inputs that we didn't directly bind to
if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) ||
    event.target.type === "text") ) {
    return;
}
票数 6
EN

Stack Overflow用户

发布于 2012-07-17 13:59:25

是的,如果用户在输入框中触发热键,JqueryHotkeys就会失败。

或者,当我浏览时,我发现了shortcut.js,它提供了与Jquery类似的功能。

--重要的是,--它还可以在输入框中启用或禁用“用户定义的快捷方式函数”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10402260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档