Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Textarea和tab键:获取\t而不是跳到下一个元素_Javascript_Jquery_Html_User Interface_Textarea - Fatal编程技术网

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;
}