0

次の単純なコードは、2 つの CKEditor エディターを作成します。キャンセル イベント関数は、ダイアログを起動するエディターに関係なく、画像ダイアログのキャンセル イベントを検出して応答します。これは、そのセマンティクスを考えると理にかなっています。そしてそれは機能します (アラートはどの画像ダイアログでも起動しますが、リンク ダイアログなどの他のダイアログでは起動しません)。ただし、エディターの 1 つだけ (私の場合は editor1) でイメージ ダイアログのキャンセル イベントを検出して応答したいと考えています。グーグルでCKEditor APIドキュメントを検索した後、そうするための適切なセマンティクスがわかりません。CKEditor 4.5.1 を使用しています。

<textarea id="editor1" name="editor1"></textarea>
<script type="text/javascript">
CKEDITOR.replace('editor1', {});
CKEDITOR.on('dialogDefinition', function (e)
{
    var dialogName = e.data.name;
    if (dialogName != 'image') return;
    var dialog = e.data.definition.dialog;
    dialog.on('cancel', function ()
    {
        alert("do something");
    });
});
</script>
<textarea id="editor2" name="editor2"></textarea>
<script type="text/javascript">
CKEDITOR.replace('editor2', {});
</script>

特定のエディターによって開かれたダイアログへの応答を制限する方法を教えてください。ご協力ありがとうございました。

4

0 に答える 0