当用户输入冒号(:)并按回车键时,我有一个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/