我使用的脚本从文件中获取外部JSON,并通过其对象循环并在字符串上创建HTML,然后在完成后,它会附加到DOM中。但我想知道是否最好使用例如:onclick html属性(直接进入代码)或者在追加到DOM之后使用Javascript立即通过其类向所有html对象添加一个事件监听器。
速度是否相同或速度快于另一速度为什么? 我使用了很多HTML对象,所以我真的需要知道,以获得最佳性能。 谢谢。 :)
答案 0 :(得分:2)
我建议使用一些简单的event delegation:
// works on existing and future elements
// since we are attaching to the parent
var d = document;
d.getElementById("theParentOfAppendedElements").onclick = function (e) {
if(e.target.tagName.toLowerCase() === "something"
&& e.target.className === "appended") {
// do something
}
}
答案 1 :(得分:0)
我个人总是使用不引人注目的javascript。我将所有脚本放在单独的js文件中,并将所有事件连接到这些脚本中。这样我就不再混合标记和脚本了,我减少了标记的大小。这限制了带宽消耗。由于javascript文件是由客户端浏览器缓存的,因此可以提高网站的性能。