2012-05-03 127 views

回答

1

编辑:你想模拟页面上功能按键或监听来自用户物理按键?如果你想要程序触发功能键操作,你不能。正如Rob指出的那样,脚本事件只激活脚本事件监听器,并且不会触发默认行为。

为了检测功能的按键,您需要将事件绑定到keyup - keypress,这不火的几个非打印按键,如功能键和方向键。一些功能键已经完成(F1打开帮助,F5刷新等)。如果您有足够的理由来阻止这种行为(例如,您正在制作一个身临其境的全屏应用,例如不应显示正常浏览器行为的VNC查看器),您可以使用preventDefault对​​停止潜在的破坏性操作:

document.documentElement.addEventListener("keydown", function(e) { 
    if(e.keyCode == 112) { 
     // if F1 is pressed, don't open help 
     e.preventDefault(); 
    } 
}); 

要了解如何处理Chrome扩展程序的按键操作,请参阅我的回答Activate extension via short cut key;这应该正是你剩下的需要。简述:

  • 我上面给了那张在被添加到每一页content script代码

  • 处理功能执行一些动作,无论是内部网页上的内容脚本或passing a message到事件后台页面

+0

感谢您的回答,是的我想模拟铬扩展的功能键。防爆。在扩展页面有一个按钮,当用户点击按钮时,我想实际模拟功能键。帮助我做到这一点。 – 1509

+0

@ Nvn1509这是**不可能**,原因有两个:1. Chrome扩展程序无法访问'chrome:// extension /'URL。 2.脚本键事件永远不能用于触发默认行为。 –

+0

Thanks.I通过它可以完成。 – 1509

相关问题