Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使DOM元素中的更新更高效?_Javascript_Html - Fatal编程技术网

Javascript 如何使DOM元素中的更新更高效?

Javascript 如何使DOM元素中的更新更高效?,javascript,html,Javascript,Html,我正在制作一个协作浏览器文本编辑器,我有一些优化问题。目标是允许用户编辑任意长度的文件。当有人更新文件时,每个人都会收到更新通知,更新编辑器内容 我很想知道下面的代码会发生什么:程序是否会在每次调用这个函数时释放旧的值内容并分配新的值内容?理想情况下,我想做的是有一个类似“文件缓冲区”的东西,然后当用户向其中插入新数据时,我只需移动内容。但我不想失去将textarea元素与事件和其他内容一起使用的便利性 function updateTextAreaValue(new_value) { va

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

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

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

textarea
的内容只是一个字符串。设置一个新值将释放它用来包含的字符串(使其符合垃圾收集的条件),并存储新值

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


但是当然,如果一个
textarea
满足了您的需要……

那么
textarea
的内容只是一个字符串。设置一个新值将释放它用来包含的字符串(使其符合垃圾收集的条件),并存储新值

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

但是当然,如果
textarea
满足您的需要…

“程序是否会在每次调用此函数时释放旧值内容并分配新值内容?”FWIW,您可能会看到,它提供了富文本编辑。它的一个例子是:“程序是否在每次调用此函数时都释放旧值内容并分配新值内容?”您可能会看到FWIW,它提供了富文本编辑。它的一个例子是。