【发布时间】:2016-09-23 17:39:40
【问题描述】:
我是 JavaScript 的初学者。一本 JavaScript 书说element.innerHTML 的一个缺点是:
事件处理程序可能不再按预期工作。
我不明白这是什么意思。谁能举个例子?
【问题讨论】:
-
这是一个数组/JSON 类比:
var obj = [Infinity]; var str = JSON.stringify(obj); str = str.slice(0, -1) + ', 42]'; obj = JSON.parse(str);。这是向数组添加新元素的一种非常可怕的方式。结果是数组[null, 42],因为JSON 不能代表Infinity。与 DOM 类似,任何绑定到元素的事件处理程序在转换为 HTML 时都会丢失,因为 HTML 本身无法存储绑定函数的表示。
标签: javascript dom dom-events innerhtml