Добавление вкладок в текстовые области с использованием Javascript - PullRequest
1 голос
/ 31 марта 2012

Я хотел бы разрешить буквальные TAB (\t) символы в моей текстовой области.Однако клавиша TAB переключается на следующий элемент формы.Так как это ожидается, я не хочу нарушать этот стандарт.Аналогично, CTRL + TAB циклически переключает вкладки браузера.Есть ли рекомендуемая комбинация клавиш, позволяющая людям вводить фактический TAB внутри текстовой области?

Например, CTRL + SPACE, похоже, ничего не делает, это можно использовать?

Кроме того, как бы я правильно послушал эти комбо?

Ответы [ 4 ]

10 голосов
/ 31 марта 2012

Это код, который я использую для текстовых областей, чтобы удерживать клавишу 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 голос
/ 17 сентября 2013

Переопределение табуляции (мой собственный проект) включает функциональность табуляции в textareas, а также позволяет использовать пользовательские комбинации клавиш. Таким образом, клавиша Tab может продолжать использоваться как обычно.

1 голос
/ 31 марта 2012

Вы могли бы

  1. Используйте, скажем, 4 пробела для эмуляции вкладок.
  2. Пусть пользователь введет символ "\ t" и будет рассматривать его как маркер табуляции для анализа.
0 голосов
/ 31 марта 2012

Я использовал плагин Tabby jquery, чтобы добавить эту функцию в текстовую область, работает нормально!

Tabby

С ним вы можете использовать клавишу Tab для вставкивкладки в текстовой области.Хотя вы теряете функциональность элементов смены вкладок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...