Tab分隔符在Chrome文本区域无效-Javascript

Tab delimiter not working in Chrome textarea - Javascript

本文关键字:区域 无效 -Javascript 文本 Chrome 分隔符 Tab      更新时间:2023-09-26

我有一个文本区域,当用户按下tab键时,我想在其中添加一个选项卡"''t"。我当前的代码是:

textarea.onkeydown = function (e) {
  var key = (e.keyCode || e.which);
  if (key == 9) {
    (e.preventDefault ? e.preventDefault() : e.stopPropogation());
    var s = this.selectionStart;
    var end = this.selectionEnd;
    this.value = this.value.substring(0, s) + "'t" + this.value.substring(end);
    this.selectionStart = end + 1;
  }
};

它在Firefox中运行良好,在IE中,当tab键被按住时,文本会四处移动,但它添加了一个选项卡,但在Chrome中什么都没发生。我查看了开发人员工具中的value属性,看到了选项卡,但它们没有显示在文本区域,我无法选择或将光标移到它们上面。

在代码中删除

> white-space: nowrap;

用于文本区域

http://jsbin.com/tacagavawuwa/9/

nowrap空白的序列将塌陷为单个空白。文本永远不会换行到下一行。正文继续行,直到遇到
标记http://www.w3schools.com/cssref/pr_text_white-space.asp