如何提高DOM元素的更新效率?

时间:2018-08-15 05:14:34

标签: javascript html html5

我正在制作一个协作式浏览器文本编辑器,但我有一些优化方面的问题。目的是允许用户任意长时间编辑文件。当有人更新文件时,每个人都会收到更新通知,该通知会更新编辑器内容。

我很想知道使用下面的代码会发生什么:每次调用此函数时,程序是否会释放旧值内容并分配新值?理想情况下,我想做的是拥有一个“文件缓冲区”之类的东西,然后在用户向其中插入新数据时将内容移动。但是我不想失去使用textarea元素及其事件和内容的便利。

function updateTextAreaValue(new_value) {
  var my_textarea = document.querySelector("#my_textarea");
  my_textarea.value = new_value;
}

1 个答案:

答案 0 :(得分:1)

textarea的内容只是一个字符串。设置一个新值将释放它原来包含的字符串(使其有资格进行垃圾回收),并存储新的字符串。

您已经说过,您不想因为它的“事件和事物”而失去textarea元素的便利性,但是contenteditable div将具有相同的事件,以及其中的DOM结构,您可以调整而不是替换整个字符串。而且由于是HTML,因此具有样式等。

但是,当然,如果textarea满足您的需求...