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