Jquery 如何在html元素上重写onkeydown?

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

我继承了一个在弹出窗口中实现禁用F5的应用程序

<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);