使用Javascript向textarea添加选项卡

时间:2012-03-30 21:54:54

标签: javascript html tabs textarea

我想在我的textarea中允许文字TAB\t)个字符。但是,TAB键循环到下一个表单元素。由于这是预期的,我不想打破这个标准。同样,CTRL + TAB会循环浏览器标签。是否有推荐的键组合允许人们在textarea中输入实际的TAB

例如,CTRL + SPACE似乎没有做任何事情,是否可以使用?

另外,我该如何正确地听这些组合?

4 个答案:

答案 0 :(得分:10)

这是我在textareas上使用的代码,以防止TAB切换焦点:

$("textarea").keydown(function(e) {
  var $this, end, start;
  if (e.keyCode === 9) {
    start = this.selectionStart;
    end = this.selectionEnd;
    $this = $(this);
    $this.val($this.val().substring(0, start) + "\t" + $this.val().substring(end));
    this.selectionStart = this.selectionEnd = start + 1;
    return false;
  }
});

答案 1 :(得分:1)

你可以

  1. 使用4个空格来模拟标签。
  2. 让用户输入“\ t”字符并将其视为要解析的标签令牌。

答案 2 :(得分:1)

Tab Override(我自己的项目)在textareas中启用了标签功能,并且还允许使用自定义组合键。这样,Tab键可以继续正常使用。

答案 3 :(得分:0)

我已经使用Tabby jquery插件将此功能添加到文本区域,工作正常!

Tabby

使用它可以使用Tab键在文本区域中插入选项卡。虽然你确实失去了标签更改元素的功能。