Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 插入四个空格,而不是制表符_Javascript_Jquery_Html_Keycode - Fatal编程技术网

Javascript 插入四个空格,而不是制表符

Javascript 插入四个空格,而不是制表符,javascript,jquery,html,keycode,Javascript,Jquery,Html,Keycode,我试图在按下tab键时插入四个空格。我使用了以下代码(请参见spaces=“\t”),但当我将其切换到spaces=“时,按tab键时只插入一个空格。我还尝试了“+”+“+”+”: 注意:这是在基于浏览器的textarea/ide中插入空格 尝试插入“而不是四个空格 PS抱歉,我没有看到文本区域中需要空格,在这种情况下HTML实体将毫无帮助您的代码工作正常,但您只是将插入符号放错了位置。将最后一行更改为: this.selectionStart = this.selectionEnd = sta

我试图在按下tab键时插入四个空格。我使用了以下代码(请参见
spaces=“\t”
),但当我将其切换到
spaces=“
时,按tab键时只插入一个空格。我还尝试了“+”+“+”+”:

注意:这是在基于浏览器的textarea/ide中插入空格

尝试插入
而不是四个空格


PS抱歉,我没有看到文本区域中需要空格,在这种情况下HTML实体将毫无帮助

您的代码工作正常,但您只是将插入符号放错了位置。将最后一行更改为:

this.selectionStart = this.selectionEnd = start + spaces.length;

演示:

应该正常处理四个空格。我尝试过这样做,但它在textarea中以字符串形式插入“  ;作为字符串。在Chrome/IE9/FF32中对我有效-您使用的浏览器是哪一个?不完全相关,但是
e。不需要进行
检查,jQuery会为您规范化属性(
which
)。谢谢@Teemu考虑得好。您可以尝试将
font-family
专门设置为
monospace
。否则,这一切都很好。@maudulus欢迎您
:)
在演示中我也替换了
$(此)。获取(0).selection…
内部具有相同的可选项
此.selection…
和其他次要位,以使代码运行更快,看起来更好。
this.selectionStart = this.selectionEnd = start + spaces.length;