2

这:

str = "test                 test"
ed.selection.setContent(str);//1

行为与此不同:

ed.selection.setContent("test                 test");//2

我正在使用文本编辑器,并且 setContent 在文本框中设置值。1 将文本框中的值设置为

"test test"

和 2 将其设置为

"test                 test".

我只能在程序中使用变量,而不是硬编码的值。我该怎么办?为什么会这样?

4

3 回答 3

1

不,不会有任何区别。如果行为确实异常,则对全局变量的赋值会str与您的其余代码混淆。通过添加var关键字使它们本地化。

于 2012-10-10T12:13:22.033 回答
1

你在用tinyMCE吗?(请重新标记您的问题)
他们的文档具体

这将在使用不同的清理规则选项设置内容之前清理内容

尝试{format : 'raw'}在字符串之后添加:,如下所示:

ed.selection.setContent("test                 test", {format : 'raw'});

在这两个帐户上,看看它是否有帮助。

编辑(最终,我希望):在将其插入函数之前
使用。 你可以在这里测试它,这应该工作。str = str.replace(/\s/g, ' ');

于 2012-10-10T12:21:08.830 回答
0

这里的问题是一次插入多个空格(不是每个键盘)将使浏览器将它们显示为一个空格。

如果用户输入空格,则会输入一些空格作为受保护的空格来欺骗浏览器行为。在使用 setContent 方法插入内容时,您需要将每个第二个空格替换为受保护的空格,以获得相同的外观。

于 2012-10-10T12:58:03.250 回答