【发布时间】:2014-08-29 06:09:07
【问题描述】:
我有这个脚本:
var countBox = 0;
function addInput() {
var breakNode = document.createElement("br");
var input = document.createElement("input");
input.type = "text";
input.name = "input_" + countBox.toString();
input.placeholder = "Notes";
input.onkeydown = "tab()";
var container = document.getElementById('container');
container.appendChild(breakNode);
container.appendChild(input);
countBox += 1;
}
它应该返回
<input type="text" name="input_0" placeholder="Notes" onkeydown="tab()">
但它只会返回
<input type="text" name="input_0" placeholder="Notes">
但是 input.onkeydown 不起作用有没有办法最好使用 Javascript 创建第一个元素,这样我就可以在用户按下 enter 时动态创建一个新字段??
【问题讨论】:
-
事件需要一个函数,而不是一个字符串。
-
elclanrs 所说的 + 由属性设置的事件处理程序不会反映到属性。
-
@elclanrs 该函数旨在创建一个具有 type="text" name="input_0" palceholder="Notes" onkeydown="tab()" 属性的输入元素,但是当我告诉它时添加未注册的 onkeydown 属性,那么我该如何添加呢??
-
当您通过 javascript 向元素添加监听器时,结果 html 不会改变 - 曾经使用过 jquery?你会看到的。
-
下面似乎有一个正确的答案:)。一些关于事件的good reading。
标签: javascript forms input onkeypress