对于在HTML输入标签中捕获ENTER键时,我对“最佳实践”有点好奇。在IE中,这很容易。当按下回车键时,window.event.keyCode将会是13,而且非常简单。在所有其他浏览器中,一个参数对象被传递给函数。但是,这似乎基本上会迫使您将函数处理程序延迟绑定到该对象。你可以这样做:使用Javascript捕获onkeypress中的某些keyCode的最佳实践
myInput.onkeypress = function (args)
{
window.alert(args.keyCode);
};
不过,如果你想做的事:
<input onkeypress="checkEnter()" />
然后基本上checkEnter()将通过一个匿名函数(这在理论上将有争论的对象)中调用这将然后调用没有参数的checkEnter。我想你可以做一些古怪的完全一样:
<input onkeypress="checkEnter(arguments)" />
我还没有试过,但我认为它可以工作。看起来,这种设计基本上说后期绑定是陷印重点印刷机的唯一合理方法。我不以任何方式对IE的爱好者,但在我看来,IE得到了这一个权利,他们的设计是优越的。
我错过了什么吗?
是的,这几乎是我想的。它只是有时我有服务器端HTML生成标签与50复选框,我希望他们每个人都有一个在线处理程序。后期绑定的处理程序意味着一个for循环附加每一个.. FYI,我已经使用jQuery和喜欢它,我也喜欢雅虎的YUI图书馆太多..这两个使这个东西更容易。感谢您的回复。 – Mike 2010-06-20 00:54:38