如果组合Alt + [Key]没有固定动作,则蜂鸣器响起。例如
document.onkeydown = function(e){
if(e.altKey && e.keyCode == 90){ // Alt+Z pressed
e.preventDefault();
e.stopPropagation();
console.log('Alt+Z pressed');
}
};
工作,但发出哔哔声。怎么预防呢?
正确的Alt + Z示例和其他一些键 - http://en.wikipedia.org/wiki/,那么它可以修复吗?
答案 0 :(得分:0)
这是Chrome的一个错误。调用preventDefault()
应该真的停止发出哔哔声,但事实并非如此。
https://bugs.chromium.org/p/chromium/issues/detail?id=105500
要抑制Chrome中的哔声,您可以向DOM中添加一个accesskey
属性的锚点,其中accesskey
是您使用Alt
按下的键。
因此,对于您的示例(Alt + Z),您需要添加:
<a accesskey="Z"></a>
要试用它,您可以在控制台中运行以下命令:
var anc = document.createElement('a'); anc.accessKey='Z'; document.body.appendChild(anc);
当您在javascript中引用该属性时,请注意accessKey
中的首字母“K”。
accesskey
属性:http://www.w3schools.com/tags/att_accesskey.asp
accessKey
财产:http://www.w3schools.com/jsref/prop_html_accesskey.asp