jol*_*olt 4 javascript ckeditor
我发现我可以onOk接受这个:
editor.on('dialogShow', function (ev)
{
var name = ev.data.getName();
var definition = ev.data.definition;
if (name == 'image')
{
definition.onOk = function(e)
{
console.log( e );
};
}
});
Run Code Online (Sandbox Code Playgroud)
真棒,除非现在删除默认行为,导致没有图像被添加到CK内容.
检查CK的来源,我不想破坏默认提供的74行功能.
我的目标是在附加后通过回调简单地运行图像.
是复制/粘贴,修改保留扩展功能的唯一方法,还是有另一种方式?
maximkou解决方案的小改进:
var oldImplementation = definition.onOk;
definition.onOk = function( e ) {
oldImplementation.apply( this, [].slice.call( arguments ) );
console.log( e );
};
Run Code Online (Sandbox Code Playgroud)
这个解决方案还可以,AFAIK是最干净的解决方案.
更新:我找到了一个更好的解决方案 - 有dialog#ok关于我刚刚学到的事件:).所以你不需要改变对话框的定义 - 你可以像这样绑定你的事件监听器:
editor.on('dialogShow', function ( evt ) {
if ( evt.data.getName() == 'image' ) {
var listener = evt.data.on( 'ok', function() {
console.log( 'ok!' );
} );
// We need to remove that listener, to avoid duplicating it on
// next dialogShow.
evt.data.on( 'hide', function() {
listener.removeListener();
} );
}
} );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2328 次 |
| 最近记录: |