我有一个非常简单的演示:
function foo() { alert('Works!'); } var inp = document.createElement('input'); inp.onblur = foo; document.body.appendChild(inp);
如您所见,这可行。(单击输入,然后单击其他位置,将弹出警报。)
但是,如果我将此行添加到JavaScript代码中:
document.body.innerHTML += '<br>';
然后模糊处理程序停止工作(顺便说一句,不会引发任何错误)。
这是为什么?
是的,当您这样做时:
您确实在做:
document.body.innerHTML = (document.body.innerHTML + '<br>');
因此,您将完全销毁并重新创建所有内容。