2012-10-22 54 views

回答

4

onkeypress属性接受一个函数,而不是一个字符串。

element3.onkeypress = isNumberKeyDecimal; 

而且看一看的addEventListener功能为首选的方式来处理事件侦听器的功能。

尤其是,您可能希望查看event delegation,这将允许您在容器元素上拥有单个事件侦听器,而不必将其绑定到您创建的每个输入。

+0

+ 1,因为+3不可能:+1 addEventListener(老式IE的'attachEvent'),+1使用包装函数_not_,但直接分配处理程序,+ 1建议委派 –

2
element3.setAttribute("onkeypress", "return isNumberKeyDecimal(event)"); 
+0

请问这项工作?当您将属性设置为字符串时,浏览器(除IE以外的全局事件对象)是否会创建一个'event'变量? – Quentin

1

它应该被设置为函数而不是字符串。

element3.onkeypress = function(event){return isNumberKeyDecimal(event)} 
+0

或者,您可以将此代码编写为'element3.onkeypress = isNumberKeyDecimal;' –

+0

Dude ...完全。我是愚蠢的 – Delta

相关问题