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