如何插入 TAB 以从 textarea 缩进代码

How can I insert TAB to indent code from textarea

我希望当按下 TAB 键时,代码会缩进。 I tried using these functions from this question.

没有任何效果,因为我有 3 个文本区域。

const htmlField = document.getElementById("html");
const cssField = document.getElementById("css");
const jsField = document.getElementById("js");

一个挨着一个。当我按 TAB 键时,旁边的文本区域被选中,事件的原始源文本区域没有任何反应。

根据您提供的 link,我测试了其中一个答案,它似乎按预期工作。您只需为每个文本区域提供结束 </textarea> 标记。

<textarea id="html" onkeydown="if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.substring(e);this.selectionStart=this.selectionEnd=s+1;return false;}"></textarea>

<textarea id="css" onkeydown="if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.substring(e);this.selectionStart=this.selectionEnd=s+1;return false;}"></textarea>

<textarea id="js" onkeydown="if(event.keyCode===9){var v=this.value,s=this.selectionStart,e=this.selectionEnd;this.value=v.substring(0, s)+'\t'+v.substring(e);this.selectionStart=this.selectionEnd=s+1;return false;}"></textarea>