在textarea中按下tab键时使用tab-indent,但它将转到html中的下一个元素

时间:2014-04-25 06:08:37

标签: html css

<textarea></textarea>

这是我只需要一个输出的代码,无论何时放置标签,它都向右缩进..但按Tab键做其他事情

1 个答案:

答案 0 :(得分:1)

请参阅以下示例:http://www.jqversion.com/#!/liDxmDg

您可以使用jQuery代码来实现这一目标:

$(document).delegate('textarea', 'keydown', function(e) {
  var keyCode = e.keyCode || e.which;

  if (keyCode == 9) {
    e.preventDefault();
    var start = $(this).get(0).selectionStart;
    var end = $(this).get(0).selectionEnd;

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

    // put caret at right position again
    $(this).get(0).selectionStart =
    $(this).get(0).selectionEnd = start + 1;
  }
});