在CKEditor插件中触发更改事件时出现问题

时间:2018-11-13 22:57:54

标签: ckeditor ckeditor4.x

我有一个自定义CKEditor插件,可以插入mp3音频内容。例如,

<span class="my-audio" data-widget="myaudio"><button type="button" class="my-button-audio icon-play" data-user-file-name="rose-throated-becard.mp3" data-src-id="myfile.mp3" data-src-type="some-type" disabled="disabled"></button></span>

插件正常工作。我当前的挑战是,当data-src-type属性的值为“ some-type”以自动将其转换为“ some-other-type”并发生更改事件时,将触发我对更改事件的监听器并且存储的内容将被更新。 看起来很简单,但事实证明使用this.editor.fire('change')是不够的。仅当我将其设置为超时时,它才有效:

var that = this;
setTimeout(function() {
    that.editor.fire('change');
}, 1);

有人可以给我替代解决方案吗?我不喜欢使用任意超时。我相信有更好的方法可以做到这一点。

0 个答案:

没有答案