InsertText的Ckeditor问题

时间:2013-04-23 05:43:47

标签: jquery ckeditor

我正在尝试使用以下命令将文本插入CKEditor:

CKEDITOR.instances.Body.insertText('$${FIRSTNAME}');

当光标处于纯文本时,上面的命令工作正常。当我尝试在具有属性的文本之间插入文本时,它会插入单个$而不是$$的$$ {FIRSTNAME}。我已将样本上传到jsbin以重现问题

http://jsbin.com/ahikeh/1

请提供其他方法来解决此问题。

2 个答案:

答案 0 :(得分:2)

这是一个丑陋的错误:D我调试了代码并找到原因:

https://github.com/ckeditor/ckeditor-dev/blob/master/core/editable.js#L1616

String#replace方法将$$视为一个$https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/String/replace),因此数据应该受到保护。

我担心现在没有简单的解决方法,因为你事先无法逃避数据。根据具体情况,将使用或不使用replace方法。

所以最好的选择是使用其他模板模式 - 例如%%{foo} - 它会正常工作。从编辑器获取数据时,您可以将%%替换为$$

票证:http://dev.ckeditor.com/ticket/10367

答案 1 :(得分:1)

请尝试使用insertHtml()

CKEDITOR.instances.Body.insertHtml('<b>$${FIRSTNAME}</b>');

<强> Updated Demo