我想禁用或覆盖浏览器的默认帮助功能。
我尝试查看一些在线示例,但它们对我不起作用。 (以下代码适用于 Firefox 和 Chrome,但不适用于 Opera 和 IE)
<html>
<title>
</title>
<body>
<script src = "jquery-1.7.1.min.js" text="type="text/javascript""></script>
<script language="javascript" type="text/javascript">
document.onkeydown = function(event)
{
if(window.event && window.event.keyCode == 112)
{
event.stopPropagation();
event.preventDefault();
event.keyCode = 0;
return false;
//document.onhelp = new Function("return false;");
//window.onhelp = new Function("return false;");
//helpFunction();
}
else if(event.which == 112)
{
helpFunction();
}
};
var false_function = new function(){"return false";};
shortcut.add("f1",false_function);
var helpFunction = function() {
alert('help');
}
</script>
<h2>Test</h2>
</body>
最佳答案
我找到了 here这段代码被要求在每个版本的 IE 和 FF 中工作
<script type="text/javascript">
function avoidInvalidKeyStorkes(evtArg) {
var evt = (document.all ? window.event : evtArg);
var isIE = (document.all ? true : false);
var KEYCODE = (document.all ? window.event.keyCode : evtArg.which);
var element = (document.all ? window.event.srcElement : evtArg.target);
var msg = "We have disabled this key: " + KEYCODE;
if (KEYCODE == "112") {
if (isIE) {
document.onhelp = function() {
return (false);
};
window.onhelp = function() {
return (false);
};
}
evt.returnValue = false;
evt.keyCode = 0;
window.status = msg;
evt.preventDefault();
evt.stopPropagation();
alert(msg);
}
window.status = "Done";
}
if (window.document.addEventListener) {
window.document.addEventListener("keydown", avoidInvalidKeyStorkes, false);
} else {
window.document.attachEvent("onkeydown", avoidInvalidKeyStorkes);
document.captureEvents(Event.KEYDOWN);
}
</script>
工作 JSFiddle .请注意,您必须在单击结果 选项卡后对其进行测试。
关于javascript - 如何禁用浏览器的默认帮助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9019278/