有没有办法将两个textarea元素“链接”到相同的本机输入事件?我知道我可以将value一个的设置为另一个的;并了解到这也可以在CSS 技巧中使用伪元素来完成,但每种方法似乎都会在每个按键事件上将整个字符串从“活动”文本区域重写为“复制”文本区域。
有没有办法像文本编辑器中同一文件的拆分视图一样链接它们?我真的不知道它在文本编辑器中是如何工作的,但我一直在分割视图中处理一些大文件,它们更新每个关键事件的全部内容而不是仅仅将它们链接在一起似乎很奇怪。
感谢您考虑我的问题。
有没有办法将两个 textarea 元素“链接”到相同的本机输入事件?
不,您需要自己添加这样的逻辑(或使用像CodeMirror这样的库)
我真的不知道它在文本编辑器中是如何工作的,但我一直在分割视图中处理一些大文件,它们更新每个关键事件的全部内容而不是仅仅将它们链接在一起似乎很奇怪。
是的,他们可能拥有一些更先进的技术。对于高级 UI,您大多数时候都会有类似模型-视图-控制器(或类似)的概念。您可以在其中拥有多个视图,并且这些视图仅了解已更改的内容。
所有在“HTML”中进行 splitview/mirroring 的方法可能都不会使用<textarea>,但contenteditable因为您获得的有关 a 中更改的信息textarea非常有限,您基本上只能获得某些内容发生更改的信息,而不是在何处以及内容发生变化的信息。
因为contenteditable您可以使用MutationObserver将更改从一个传递contenteditable到另一个,但逻辑仍然需要由您完成。
我知道我可以将其中一个的值设置为另一个的值
这基本上是您唯一的选择<textarea>。