此:
str = "test test"
ed.selection.setContent(str);//1
与此不同:
ed.selection.setContent("test test");//2
我正在使用文本编辑器,而setContent在文本框中设置值。 1将文本框中的值设置为
"test test"
和2将其设置为
"test test".
我只能在程序中使用变量,而不能使用硬编码的值。我该怎么办?为什么会这样?
答案 0 :(得分:1)
不,它没有任何区别。如果行为确实异常,则对全局变量str
的赋值会与其余代码混淆。通过添加var
关键字将其设为本地。
答案 1 :(得分:1)
您使用的是tinyMCE吗? (请重新提出你的问题)
Their DOCs specificy:
这将在使用不同的内容设置之前清除内容 清理规则选项
尝试在字符串后添加{format : 'raw'}
,如下所示:
ed.selection.setContent("test test", {format : 'raw'});
在两个帐户上,看看它是否有帮助。
编辑(最后,我希望):
在将其插入函数之前使用str = str.replace(/\s/g, ' ');
您可以对其进行测试here,这应该可行。
答案 2 :(得分:0)
这里的问题是一次插入多个空格(不是每个键盘)会让浏览器将它们显示为一个单独的空间。
如果用户输入空格,则会有一些空格作为受保护空格输入,以欺骗浏览器行为。插入未使用setContent方法的内容时,您需要使用受保护的空间替换每个第二个空格,以获得相同的外观。