5

我正在尝试从 javascript 编写 html 输入 onkeypress 事件,但它不起作用,但我可以编写大小或类型等属性。

var element3 = document.createElement("input");
element3.type = "text"
element3.size = "6"   
element3.onkeypress= "return isNumberKeyDecimal(event)"

那可能吗?

4

4 回答 4

7

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

element3.onkeypress = isNumberKeyDecimal;

但还请查看addEventListener处理事件侦听器函数的首选方法的函数。

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

于 2012-10-22T08:42:34.557 回答
3
element3.setAttribute("onkeypress", "return isNumberKeyDecimal(event)");
于 2012-10-22T08:41:50.690 回答
2
element3.setAttribute("onkeypress", "return isNumberKeyDecimal(event)");

Mozilla 参考这里

于 2017-04-04T23:18:04.747 回答
1

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

element3.onkeypress = function(event){return isNumberKeyDecimal(event)}
于 2012-10-22T08:42:00.843 回答