使用tinymce与blockui

时间:2014-01-23 23:13:33

标签: jquery tinymce blockui

我想要做的是使用blockUI将我的网页背景变灰,然后在顶部打开一个tinymce。我可以让它最初工作,但我打开另一个想要插入链接或编辑html源的对话框,对话框打开但它被阻止了。我想知道是否有办法在blockUI中取消阻止它。我尝试了一些事情但是没有成功。 这是我目前的代码:

var editDiv="<div id='tMce'><p>";   
editDiv+="<textarea style='width:90%;height:400px;' id='ed_"+theID+"'>"+theHTML+"</textarea><p>";
editDiv+="<button onclick='closeCMS();'>close</button> ";
editDiv+="<button onclick='saveEdit("+dq+theID+dq+","+dq+theID+dq+")'>save</button> ";
editDiv+="</div>";

    $.blockUI({ message: editDiv }); 

    tinymce.init({
        selector: "textarea",
        theme: "modern",
        plugins: [
    "advlist autolink lists link charmap print preview anchor",
    "searchreplace visualblocks code fullscreen",
    "insertdatetime media table contextmenu paste"
        ]
    });

    $('textarea').each(function(){
        $(this).unblock();
    });

    $('input').each(function(){
        $(this).unblock();
    });     

1 个答案:

答案 0 :(得分:1)

似乎有效的一个解决方案是在.blockUI调用中传递bindEvents: false作为选项(以及message等)。请参阅http://fiddle.tinymce.com/bzeaab/17,了解如何修改失败的小提琴(http://fiddle.tinymce.com/bzeaab/16)以使插件工作。

在您的情况下,$.blockUI({ message: editDiv });变为

$.blockUI({ message: editDiv, bindEvents: false });

这个问题的一个潜在缺点是这种方法取消了blockUI覆盖中的所有内容,而不仅仅是tinymce插件,因此可能太过于无法满足您的需求。