【发布时间】:2014-10-05 06:26:27
【问题描述】:
我正在尝试覆盖债权人 4 中的默认对齐左/右/居中,以便他们将整个文本对齐到左/右/居中,而不是单独对齐每一行。我已将以下代码添加到 creditor.config.js 中,一切正常,但我无法在 ckeditor 中更新/刷新新值。看起来 setData() 确实更新了 ckeditor 值,但它在循环中执行,尝试将其包装在 setTimout() 中,但这并没有改变任何东西。试过更新元素,setValue,setHtml...
CKEDITOR.on('instanceReady', function (ev) {
ev.editor.on('selectionChange', function () {
var text = ev.editor.getData();
text = text.replace(new RegExp('(class="rtecenter")|(class="rteleft") |(class="rteright")','g'),'');
text = '<div class="rteleft">'+text+'</div>';
// ev.editor.setData(text);
// ev.editor.element.setValue(text);
// ev.editor.element.setHtml(text);
});
});
【问题讨论】:
-
我自己刚刚开始使用 CKEditor,所以我不是专家,但是您确定每次选择更改时都想这样做吗?我想这会破坏编辑器,使实际编辑文本变得不可能,因为每次用户点击某个地方时,底层的 HTML 都会改变。 (除了您的代码还有很多其他问题。)您可能想要编写一个插件,在单击按钮时进行修改。 (续)
-
或者仅仅定义一个新的风格就足够了。 “将整个文本对齐到左/右/中心而不是单独的每一行”到底是什么意思?你能举例说明你想如何修改 HTML 吗?
-
首先——如果你想做一些“活”的事情,不要改变数据。你需要在 DOM 上工作。第二 - 你为什么不使用样式表(
contents.css)?