TinyMCE在jqueryUI模式对话框中打开

7 javascript tinymce jquery-ui jquery-ui-dialog

在jqueryUI模式对话框中使用tinyMCE时,我无法使用超链接或"插入图像"功能.

基本上,经过大量的搜索,我发现了这个:

http://www.tinymce.com/develop/bugtracker_view.php?id=5917

奇怪的是,对我来说,当jqueryUI的模态属性设置为false时,由于问题不存在,因此它不会产生一个小问题和更多的jqueryUI问题.

使用更丰富的形式,我看到发生的事情是,只要tinyMCE失去焦点,表单中的第一个元素即使不是焦点/点击的焦点也会获得焦点.

有些JavaScript专家知道我如何能够保持对话模态并使tinyMCE工作吗?

Bra*_*ord 7

当重写_allowInteraction时,这会为我修复它:

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

我真的不能相信它.我从TinyMCE论坛上的这个帖子中得到了它. (他们已将他们的bugtracker移至github.tinymce/issues/703是相应的github问题.)

  • 不应该是$(e.target)...不是$(event.target)...... ??? 或者在其他地方定义"事件"? (2认同)

str*_*rnl -1

这似乎为我解决了这个问题,或者至少解决了这个问题(将其放在 $(document).ready() 中的某个位置):

$.widget('ui.dialog', $.ui.dialog, {
    _allowInteraction: function(event) {
        return ($('.mce-panel:visible').length > 0);
    }
});
Run Code Online (Sandbox Code Playgroud)