Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以用javaScript编程HTML输入onKeyPress事件吗?_Javascript_Html - Fatal编程技术网

可以用javaScript编程HTML输入onKeyPress事件吗?

可以用javaScript编程HTML输入onKeyPress事件吗?,javascript,html,Javascript,Html,我正试图从javascript编程html输入到Keypress事件,但它不起作用,但我可以编程大小或类型等属性 var element3 = document.createElement("input"); element3.type = "text" element3.size = "6" element3.onkeypress= "return isNumberKeyDecimal(event)" 可能吗?应该将其设置为函数而不是字符串 element3.setAttribute(

我正试图从javascript编程html输入到Keypress事件,但它不起作用,但我可以编程大小或类型等属性

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

可能吗?

应该将其设置为函数而不是字符串

element3.setAttribute("onkeypress", "return isNumberKeyDecimal(event)");
element3.onkeypress = function(event){return isNumberKeyDecimal(event)}
element3.onkeypress = isNumberKeyDecimal;

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

element3.onkeypress = function(event){return isNumberKeyDecimal(event)}
element3.onkeypress = isNumberKeyDecimal;
但也要看一下函数,了解处理事件侦听器函数的首选方法

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

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

这样行吗?当您将属性设置为字符串时,浏览器(带有全局事件对象的IE除外)是否会创建一个
event
变量?或者,您可以将此代码编写为
element3.onkeypress=isNumberKeyDecimal+1,因为+3不可能:+1表示
addEventListener
attachEvent
表示旧版IE),+1表示不使用包装函数,而是直接分配处理程序,+1表示建议委派