在 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+fctrl+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“查找”支持。

https://github.com/nwutils/find-in-nw

ctrl+a“全选”已经内置在 NW.js 的 Normal 和 SDK 版本中

但是,如果您想覆盖默认的“ctrl+a”,那么 Andrew 的回答是正确的,并且会这样做。监听事件并防止默认。

【讨论】:

以上是关于在 node-webkit 中获取 ctrl-f/ctrl-a 按键的主要内容,如果未能解决你的问题,请参考以下文章

如何在 node-webkit 中获取工作目录

在 node-webkit 中使用默认程序打开文件

CSS 加载动画在 NW.js (node-webkit) 中没有动画

Node-Webkit:如何在本地文件系统中创建文件?

Node-Webkit(nwjs)如何将窗口向右对齐?

尝试在 Webpack 上使用 mongoose 和 node-webkit 目标