javascript - 如何触发键盘输入事件以在文本区域的下一行添加缩进

标签 javascript jquery html twitter-bootstrap

当用户输入冒号(:)并按回车键时,我有一个html文本区域,文本区域的下一行应该有缩进

我的代码

<textarea id="yourcode" cols="40" rows="10" class="form-control"></textarea>

我尝试过的

$('#yourcode').keypress(function(e) {
    if(e.keyCode == 58) {
        if(e.keyCode == 13 ) {
            $(this).val(
                $(this).val().substring(0, start)
                + "\t"
                + $(this).val().substring(end)
            );
        }
    }
});

最佳答案

正如我在评论中告诉你的,第二个 if 语句将不会被到达,因为如果 keyCode = 58,它永远不会是 13。

此外,请改用keyup

检查下面的代码:

$(function() {
  $('textarea').on('keyup', function(e) {
    if (e.key === 'Enter') {
      var text = $(this).val().trim();

      if (text.substring(text.length - 1) == ':') {
        $(this).val($(this).val() + '\t');
      }
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="yourcode" cols="40" rows="10" class="form-control">
</textarea>

关于javascript - 如何触发键盘输入事件以在文本区域的下一行添加缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435239/

相关文章:

javascript - 通过 javascript 更改相同的 css 类属性

javascript - 访问最远的父级

javascript - 使用跨域Ajax进行搜索?

javascript - 单击其他 div 将一个 div 移动到其他 div 旁边

html - 样式在 iOS 手机差距应用程序中无法正确显示

javascript - 开 Jest - 如何测试 console.error 被调用?

Javascript/Onclick - 鼠标悬停时使鼠标光标成为一只手

HTML5 : Should I use h 2's or h3' s for content inside of an aside element?

html - Drupal ckeditor 不支持某些 html 标签

javascript - 保留 HTTP 重定向之间的 URL 哈希