javascript - 使用制表符在文本区域中缩进

标签 javascript html textarea

我的网站上有一个简单的 HTML 文本区域。

现在,如果您单击其中的 Tab,它将转到下一个字段。我想让选项卡按钮缩进几个空格。

我该怎么做?

最佳答案

大量借鉴类似问题的其他答案(在下面发布)...

document.getElementById('textbox').addEventListener('keydown', function(e) {
  if (e.key == 'Tab') {
    e.preventDefault();
    var start = this.selectionStart;
    var end = this.selectionEnd;

    // set textarea value to: text before caret + tab + text after caret
    this.value = this.value.substring(0, start) +
      "\t" + this.value.substring(end);

    // put caret at right position again
    this.selectionStart =
      this.selectionEnd = start + 1;
  }
});
<input type="text" name="test1" />
<textarea id="textbox" name="test2"></textarea>
<input type="text" name="test3" />

jQuery: How to capture the TAB keypress within a Textbox

How to handle <tab> in textarea?

关于javascript - 使用制表符在文本区域中缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637341/

相关文章:

javascript - 使用嵌套表对齐问题的 TreeView

html - 尝试在悬停时更改图像时背景网址不起作用

javascript - 插入符号在文本区域的第一行吗?在最后一行?

javascript - 如何使用 Bootstrap 4 创建砌体布局?

html - 如何将 swf 文件与图像点击事件链接起来

java - 如何使用 awt/关闭窗口按钮?

javascript - 在纯 JavaScript 中让文本区域自动增长的最简单方法是什么?

javascript - typescript 顺序数组基于另一个数组的值

javascript - 加载 Javascript 文件的问题

javascript - 值为 NULL 时无法读取未定义的属性长度