我有一个自定义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);
有人可以给我替代解决方案吗?我不喜欢使用任意超时。我相信有更好的方法可以做到这一点。