CkEditor不会立即运行ACF

时间:2015-06-05 17:40:40

标签: ckeditor

如果我在setData()之后立即尝试getData(),则内容尚未过滤。如何以编程方式获取过滤后的内容?

请参阅此JSFiddle以获得非常简单的重复。通过单击“测试”按钮后面的“源”,您可以看到最终运行过滤器。 https://jsfiddle.net/L8kb4nes/7/(忽略用于解决jsfiddle限制的字符串连接)

editor.setData('<p>Hi There!</p><script></script>');
$('#output').text(editor.getData());
//Outputs '<p>Hi There!</p><script></script>'
//Source button shows '<p>Hi There!</p>'

1 个答案:

答案 0 :(得分:1)

虽然文档没有描述这一点,但setData()实际上是异步的。

ckeditor有几个你可以听的事件,&#39; dataReady&#39;显式响应setData()方法(在用户输入后不会触发),而{&#39; change&#39;在setData和用户输入后触发。

设置后获取修改数据的示例代码:

editor.setData('<p>Hi There!</p><script></script>');
editor.once('dataReady', function(){
    $('#output').text(editor.getData());
});