Javascript events Onblur事件在使用Javascript创建新的动态输入之前激发
我正在向表单动态添加文本输入。新输入也会获得焦点。在添加onblur事件时,onblur事件似乎会在添加输入后立即触发。为了测试这一点,我为onblur事件添加了一个警报。此时会出现警报,只有在单击“确定”后,才会创建新的输入。这在IE、Firefox和Opera中都会发生 下面是我正在使用的代码。为了便于阅读,我删除了所有其他代码Javascript events Onblur事件在使用Javascript创建新的动态输入之前激发,javascript-events,Javascript Events,我正在向表单动态添加文本输入。新输入也会获得焦点。在添加onblur事件时,onblur事件似乎会在添加输入后立即触发。为了测试这一点,我为onblur事件添加了一个警报。此时会出现警报,只有在单击“确定”后,才会创建新的输入。这在IE、Firefox和Opera中都会发生 下面是我正在使用的代码。为了便于阅读,我删除了所有其他代码 这是因为您正在使用alertwoot来指定onblur事件,而不是函数{alertwoot;}。 将代码更改为: function addinput () {
这是因为您正在使用alertwoot来指定onblur事件,而不是函数{alertwoot;}。 将代码更改为:
function addinput () {
var inpmaster = document.getElementById("inpMaster");
var myinput = document.createElement("input");
myinput.id = "myfield"+count;
myinput.name = "myfield"+count;
myinput.type = "text";
myinput.onblur = function(){alert("woot");};
inpmaster.parentNode.insertBefore(myinput,inpmaster);
inpmaster.disabled="disabled";
myinput.focus();
count++;
};
<body>
<form action="" method="post" id="admin">
<input id="inpMaster" type="text" name="prodDesccc" onfocus="addinput();" />
</form>
</body>
function addinput () {
var inpmaster = document.getElementById("inpMaster");
var myinput = document.createElement("input");
myinput.id = "myfield"+count;
myinput.name = "myfield"+count;
myinput.type = "text";
myinput.onblur = function(){alert("woot");};
inpmaster.parentNode.insertBefore(myinput,inpmaster);
inpmaster.disabled="disabled";
myinput.focus();
count++;
};