在 node-webkit 中获取 ctrl-f/ctrl-a 按键
Posted
技术标签:
【中文标题】在 node-webkit 中获取 ctrl-f/ctrl-a 按键【英文标题】:get ctrl-f/ctrl-a keypresses in node-webkit 【发布时间】:2014-01-29 02:16:33 【问题描述】:我正在构建一个 node-webkit 应用程序,正在监听按键事件(在一个角度指令中)。
大多数按键组合都有效,但 ctrl+f 和 ctrl+a 均无效.
这个问题是 node-webkit 特有的。我有 ctrl+a 等在浏览器中工作,但在 node-webkit 中没有。
我正在用通常的方式监听按键
document.bind('keypress',function...) window.bind('keypress', 函数...) window.bind('onkeypress', 函数...) window.bind('keydown', 函数...)有什么建议吗?请记住,其他组合键 ctrl+shift+o 等都是有效的。 由于这是一个 node-webkit 应用程序,因此没有基于浏览器的“查找”功能,我正在禁用“全选”。
【问题讨论】:
【参考方案1】:it 不是您在寻找的答案吗?
有一个fiddle 作为 ctrl+f 的答案。如果在本例中将 70 替换为 65,它也适用于 ctrl+a。
document.onkeydown = function (e)
/// check ctrl + f key
if (e.ctrlKey === true && e.keyCode === 70/*65*/)
e.preventDefault();
console.log('Ctrl + f was hit...');
return false;
【讨论】:
这是特定于 node-webkit 的。即使我不查找 e.ctrlKey 而只是在 ctrl-a 上查找 console.log(e),也不会触发 keydown。【参考方案2】:这是一个库,您可以使用它在 NW.js 中添加 ctrl+f
“查找”支持。
ctrl+a
“全选”已经内置在 NW.js 的 Normal 和 SDK 版本中
但是,如果您想覆盖默认的“ctrl+a”,那么 Andrew 的回答是正确的,并且会这样做。监听事件并防止默认。
【讨论】:
以上是关于在 node-webkit 中获取 ctrl-f/ctrl-a 按键的主要内容,如果未能解决你的问题,请参考以下文章