2

JQuery UI モーダル ダイアログ内で tinyMCE エディターを実行しています。新しいモーダル (リンクなど) を開く tinyMCE の機能を除いて、すべて正常に動作します。これらのモーダルは正常に表示されますが、入力領域は編集できません。js コードは Firebug によれば問題なく、HTML は非常に簡単です。

それがどこから来たのか手がかりはありますか?

編集:

<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    plugins: "autolink link table textcolor",
    menubar: false,
    toolbar: "undo redo | styleselect | forecolor backcolor | bold italic | link unlink | table"
});
$(document).ready(function(){
    $(".sendmail")
        .button({
            icons: {
                primary: "ui-icon-mail-closed"
            },
            text: false
        })
        .click(function(){
            $("#sendmailform").dialog("open");
        })
    ;
    $(function(){
        $("#sendmailform")
            .dialog({
                autoOpen: false,
                title: "Send mail confirmation",
                modal:true,
                width: 750,
                [buttons & ajax]
            })
        ;
    });
});
</script>
4

3 に答える 3

2

@Harry のおかげで、TinyMCE バグトラッカーの偉大な人たちが解決策を提供してくれました。

tinyMCE をロードする直前に、DOM の後にロードされたスクリプトの上に以下のコードを追加しました。

$(document).on('focusin', function(e) {
    if ($(event.target).closest(".mce-window").length) {
        e.stopImmediatePropagation();
    }
});

@Harryが投稿したものはそうではありませんでしたが、魅力のように機能します。

于 2013-08-20T14:19:50.923 に答える
0

質問に答えるにはさらに詳細が必要ですが、これを試すことができます:

tinymce.get('editor_id').getBody().setAttribute('contenteditable', 'false');
于 2013-06-24T09:06:56.687 に答える