我想检测并阻止网页上的某些键盘快捷键。例如,假设我想阻止alt-tab
切换应用程序(只是一个例子,假设任何全局快捷方式)
据我所知,这是:
document
(或window
?)event.which
检查哪个键
组合被按下但是,我不知道如何
A)检测多个密钥 (例如alt
和tab
),或者
B)阻止他们执行(我可以return false
吗?)。
有人能告诉我如何完成上述工作吗? 谢谢!
答案 0 :(得分:5)
您想阻止截屏吗?忘了它现在。
无论您采用何种复杂的机制,通过取消对焦浏览器窗口(或仅仅是文档,例如通过点击地址栏),然后按屏幕截图键,它们将是微不足道的。
除非在控制用户操作的计算机上安装客户端软件,否则您无法执行此操作,或可能使用某些专有ActiveX控件使其内容无法打印屏幕。这两种方法都非常困难,并且有很多缺点。
答案 1 :(得分:1)
您无法阻止属于操作系统的键盘组合。只有在浏览器内漫游并且不是特定于操作系统的键盘组合。
如果您想保护您的内容,不公开发布。的 Or put a decent license on it 强>
答案 2 :(得分:1)
// lookup table for keycodes
var key = { s: 83 };
document.onkeydown = function (e) {
// normalize event
e = e || window.event;
// detecting multiple keys, e.g: Ctrl + S
if (e.ctrlKey && !e.altKey && e.keyCode === key.s) {
// prevent default action
if (e.preventDefault) {
e.preventDefault();
}
// IE
e.returnValue = false;
}
};
Detecting Keystrokes Compatibility Table( QuirksMode )