我想在我的网页上禁用F8
键。有什么办法可以使用jquery或任何相关的插件或只是javascript来禁用它吗?
提前致谢... :)
blasteralfred
答案 0 :(得分:1)
喜欢这个Disable F5 key in Safari 4
但使用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>
答案 1 :(得分:1)
你尝试过这样的事吗?
$(document).keydown(function(e){ if(e.which === 119){ return false; } });
我创建了一个jsfiddle沙箱,你可以测试它(工作):
答案 2 :(得分:0)
以下代码适用于大多数浏览器,但我还没有找到任何不兼容的代码。如果它不起作用,请告诉我。
关键是将目标事件重新映射到普通键的任何其他原始事件,即使该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