我知道之前曾有人问过这个问题(使用制表符缩进textarea < / a>),但是提供的答案不能解决我的问题。我的代码如下:
$(document).ready(()=> {
document.getElementById('input')。onkeydown = e => {
if(e.keyCode == 9 || e.which == 9){
e.preventDefault();
var s = this.selectionStart;
this.value = this.value.substring(0,this.selectionStart)+“ \ t” + this.value.substring(this.selectionEnd);
this.selectionEnd = s + 1;
}
}
/ *此jQuery解决方案也不起作用
$('#input')。keydown(e => {
var keyCode = e.keyCode || e。哪个;
如果(keyCode == 9){
e.preventDefault();
var start = this.selectionStart;
var end = this.selectionEnd;
//将textarea值设置为:尖号前的文本+制表符+尖号后的文本
$(this).val($(this).val()。substring(0,开始)
+“ \ t”
+ $(this).val()。substring(end));
//再次将插入符号置于正确的位置
this.selectionStart =
this.selectionEnd =开始+ 1;
}
});
* /
});
<!doctype html>
<头>
<脚本>
<身体>