Jquery 如何在html元素上重写onkeydown?
我继承了一个在弹出窗口中实现禁用F5的应用程序Jquery 如何在html元素上重写onkeydown?,jquery,html,Jquery,Html,我继承了一个在弹出窗口中实现禁用F5的应用程序 <body onkeydown="disableF5();"> jQuery的这段代码并没有像预期的那样工作,所以我现在陷入了困境 有没有办法设置元素的属性 编辑:我想我会在这里抛出disableF5()函数 function disableF5() { if (window.event && window.event.keyCode == 116) { window.event.cance
<body onkeydown="disableF5();">
jQuery的这段代码并没有像预期的那样工作,所以我现在陷入了困境
有没有办法设置
元素的属性
编辑:我想我会在这里抛出disableF5()函数
function disableF5() {
if (window.event && window.event.keyCode == 116) {
window.event.cancelBubble = true;
window.event.returnValue = false;
window.event.keyCode = 0;
window.status = "F5 is disabled on all popups";
return false;
}
}
见
编辑–适度详细的解释:
加载DOM时,会对HTML
onstuff
属性进行评估。事后添加它们没有任何效果。因此,必须使用适当的JS事件绑定。这在最新的Chrome和FireFox中有效,并且在我看来比bind
更干净:
$('html').bind('keydown', function() { disableF5(); }));
$(document.documentElement).keydown(disableF5);
在一个名为
disableF5
的函数存在的场景中,Chrome/FF最新版本的独家使用似乎不太可能:DYeah,我很遗憾地说,所有用户当然都在IE上。
$('html').bind('keydown', function(){ disableF5(); });
$('html').bind('keydown', function() { disableF5(); }));
$(document.documentElement).keydown(disableF5);