相关疑难解决方法(0)

操作innerHTML会删除子元素的事件处理程序吗?

我有这个非常简单的演示:

function foo() {
    alert('Works!');
}

var inp = document.createElement('input');
inp.onblur = foo;
document.body.appendChild(inp);
Run Code Online (Sandbox Code Playgroud)

见这里: http ://jsfiddle.net/A7aPA/

如你所见,这是有效的.(单击输入,然后单击其他位置,将弹出警报.)

但是,如果我将此行添加到JavaScript代码中:

document.body.innerHTML += '<br>'; 
Run Code Online (Sandbox Code Playgroud)

然后模糊处理程序停止工作(并没有抛出错误顺便说一句).

见这里: http ://jsfiddle.net/A7aPA/1/

这是为什么?

javascript browser dom dom-events

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

browser ×1

dom ×1

dom-events ×1

javascript ×1