我想使用 Javascript 或 jQuery 禁用完整的键盘键。
另外,是否可以使用 PHP 脚本禁用键盘?
尝试这个
document.onkeydown = function (e) {
return false;
}
对于特定区域试试这个
$(".class").keydown(function(event) {
return false;
});
虽然取消keydown
效果适用于大多数开箱即用的键,但某些特殊组合(例如Ctrl+R表示重新加载,Ctrl+T表示新选项卡等)不能以这种方式被阻止,而是始终发送到浏览器。
新的(在撰写本文时是实验性的)Keyboard Lock API允许您捕获这些类型的按键。您可以像这样使用它,或者如果您只想锁定其中的一些,也可以传入一组键码。
navigator.keyboard.lock();
完成后,您可以致电
navigator.keyboard.unlock();
停止捕获这些关键代码。
请注意,您仍然需要侦听并响应keydown
事件 - 新 API 允许您捕获这些较低级别的按键,但您仍然需要定义按下它们时会发生什么。
在您的情况下,这只是取消事件(以@Harish Singh 的回答Ctrl的风格),但其他用例将涉及在按下某些键集时执行其他操作,可能会关闭在您的网络应用程序中打开的文档,W而不是而不是选项卡,或者Esc在全屏游戏中按下时打开暂停菜单,而不是退出全屏。
您现在可以试用 Keyboard Lock API,但目前浏览器支持仅限于桌面上的 Chrome 和其他 Chromium 浏览器(Edge 和 Opera)。
最后一点是,出于安全原因,用户始终可以通过浏览器手势退出键盘锁定,以防止他们被困住(如果您将其与Pointer Lock API结合使用,可能会发生这种情况)。在 Chrome 中,这个退出手势是按住Esc键 2 秒。
尝试这个 。
$(document).keypress(function(e) {
return false;
});