1

これは Image ダイアログと密接に関連しています — 総上書きの代わりに onOk を拡張してください。別の解決策を考えただけです:

editor.on('insertElement', function (ev)
{
    var element = ev.data.$;

    if (element.tagName.toUpperCase() == 'IMG')
    {
         // do stuff with element
    }
});

これは完全に機能します。

ただし、このソリューションの問題は、CKEditor のドキュメントに次のように記載されていることです。

insertElement 呼び出しを実行する内部イベント。

内部イベントに依存しても安全ですか?

4

1 に答える 1

3

このイベントに依存するのは少し危険ですが、マイナー リリースで変更されることはないと確信しています。

ただし、将来のメジャー リリースで変更される可能性があります。たとえば、CKEditor 4.0 では、変更を余儀なくされeditor#insertHtmleditor#paste下位互換性が失われました。ただし、editor#pasteこれは通常の公開イベントであるため、ご覧のとおり、設計上の問題を解決するためのクリーンな方法が他になければ、すべてが変わる可能性があります。

したがって、このイベントに頼ることができると思いますが、他のすべての API と同様に、メジャー リリースでは必要な変更が行われる可能性があります。

PS。ダイアログ定義のonOkメソッドを上書きすることは、より良い解決策です。

更新: 私の意見では、insertXXX イベント トリオは内部として誤って文書化されています。それらには内部的なものは何もなく、同様の場合に非常に役立ちます。おそらくそれらの説明を変更します。

于 2013-06-04T17:58:21.250 に答える