无法在javascript中设置事件处理程序

时间:2010-12-12 14:24:31

标签: javascript dom javascript-events event-handling

此问题是对帖子Failed to set event handler in javascript

的跟进

我想为输入文本控件添加一个事件处理程序。输入框控件是动态生成的。我的代码就像:

_inputbox = document.createElement("input");
_inputbox.type = "text";
_inputbox.id = settings[zindex];
_inputbox.onblur = checkName; 

checkName()先前已定义。但是当我在框中输入内容并将焦点移动到其他控件时,checkName()不会被执行。

在Firebug的DOM选项卡中,我发现onblur已正确分配给checkName()。

在Firebug的HTML标签中,我发现输入框只定义了“ID”和“类型”。 HTML代码中没有“onblur”。如果我编辑HTML并手动添加onblur = checkName()。该功能可以成功调用。

HTML代码

<input type="text" id="Datastore">

有没有人可以帮助我?非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试

If(_inputbox.addEventListener) {
    _inputbox.addEventListener('blur', checkName, false);
} else { 
    _inputbox.attachEvent('onblur', checkName);
}