Обращаясь к другим сообщениям SO, я пытаюсь добавить пробелы в текстовую область при нажатии клавиши TAB.
Я включил код в JSFiddle . Код jquery, который я использовал:
$("textarea").keydown(function(e) {
if(e.keyCode === 9) { // tab was pressed
// get caret position/selection
var start = this.selectionStart;
var end = this.selectionEnd;
var $this = $(this);
var value = $this.val();
// set textarea value to: text before caret + tab + text after caret
$this.val(value.substring(0, start) + "\t" + value.substring(end));
// put caret at right position again (add one for the tab)
this.selectionStart = this.selectionEnd = start + 1;
// prevent the focus lose
e.preventDefault();
}
});
Проблема, с которой я сталкиваюсь, иногда заключается в том, что при нажатии клавиши TAB добавляется более 4 пробелов.
Может кто-нибудь помочь мне исправить это? Заранее спасибо.