【发布时间】:2026-01-01 10:45:02
【问题描述】:
我想在我的网页上禁用F8 键。有什么方法可以使用 jquery 或任何相关插件或仅使用 javascript 禁用它??
提前谢谢...:)
爆破
【问题讨论】:
标签: javascript jquery jquery-ui jquery-plugins javascript-framework
我想在我的网页上禁用F8 键。有什么方法可以使用 jquery 或任何相关插件或仅使用 javascript 禁用它??
提前谢谢...:)
爆破
【问题讨论】:
标签: javascript jquery jquery-ui jquery-plugins javascript-framework
但使用 keyCode 119:
<script>
var fn = function (e)
{
if (!e)
var e = window.event;
var keycode = e.keyCode;
if (e.which)
keycode = e.which;
var src = e.srcElement;
if (e.target)
src = e.target;
// 119 = F8
if (119 == keycode)
{
alert('nope')
// Firefox and other non IE browsers
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}
// Internet Explorer
else if (e.keyCode)
{
e.keyCode = 0;
e.returnValue = false;
e.cancelBubble = true;
}
return false;
}
}
document.onkeypress=document.onkeydown=document.onkeyup=fn
</script>
【讨论】:
:) .... 无论如何感谢您的支持.. 让我深入研究一下.. 你知道除了 adobe reader 之外的任何浏览器支持的阅读器会阻止 pdf 保存??
你尝试过这样的事情吗?
$(文档).keydown(函数(e){ 如果(例如 === 119){ 返回假; } });我创建了一个 jsfiddle 沙箱,您可以在其中对其进行测试(有效):
【讨论】:
以下代码适用于大多数浏览器,而我还没有发现任何不兼容的代码。让我知道它是否不起作用。
关键是将目标事件重新映射到普通键的任何其他原始事件,即使该Fn键表现为普通键。
$(document).bind("keydown", function (evt){
var keycode = (evt.keyCode?evt.keyCode:evt.charCode);
//alert(keycode);
switch(keycode){
case 119: //F8 key on Windows and most browsers
case 63243: //F8 key on Mac Safari
evt.preventDefault();
//Remapping event
evt.originalEvent.keyCode = 0;
return false;
break;
}
});
关键代码的参考和跨浏览器问题的解释可以在这里找到: quirksmode
【讨论】: