Javascript Textarea和tab键:获取\t而不是跳到下一个元素
我正在使用一个名为Javascript Textarea和tab键:获取\t而不是跳到下一个元素,javascript,jquery,html,user-interface,textarea,Javascript,Jquery,Html,User Interface,Textarea,我正在使用一个名为userInput的html文本区域,但每当我按下tab键时,它就会移动到下一个元素。如何使tab键创建一个选项卡,或至少创建一些空格,而不移动到下一个元素 为按键事件添加事件侦听器,如果是已按下的选项卡,则阻止该事件: var ta=document.getElementById(“ta”); ta.addEventListener(“keydown”,函数(e){//keydown发生时 如果(e.keyCode===9){//如果按下的键是制表符(keyCode 9)
userInput
的html文本区域,但每当我按下tab键时,它就会移动到下一个元素。如何使tab键创建一个选项卡,或至少创建一些空格,而不移动到下一个元素 为按键事件添加事件侦听器,如果是已按下的选项卡,则阻止该事件:
var ta=document.getElementById(“ta”);
ta.addEventListener(“keydown”,函数(e){//keydown发生时
如果(e.keyCode===9){//如果按下的键是制表符(keyCode 9)
var start=this.selectionStart,//获取选择开始(如果未选择任何内容,则获取光标位置)
end=this.selectionEnd,//获取选择结束(如果未选择任何内容,则获取光标位置)
value=this.value;
this.value=value.substr(0,开始)+“\t”+value.substr(结束);//在中间添加一个制表符,而不是所选文本(如果未选择任何内容,则在光标位置)
this.selectionStart=this.selectionEnd=start+1;//将光标设置为最后一个开始索引后的一个字符(就在新添加的制表符之后)
e、 preventDefault();//重要提示:防止此事件的默认行为(跳转到下一个元素并给予它焦点)
}
})
#ta{
宽度:100%;
高度:170px;
}