using tinymce with blockui

六眼飞鱼酱① 提交于 2019-12-11 05:39:38

问题


What I want to do is grey out the my webpage background with blockUI, then open an tinymce on top. I can get this to work initially, but I open another tinymce dialog like to insert a link or edit the html source, the dialog opens but it's blocked. I'm wondering if there is a way to unblock this in blockUI. I've tried a few things but haven't been successful. Here is my current code:

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:


One solution that seems to work is to pass bindEvents: false in the .blockUI call as an option (along with message, etc.). See http://fiddle.tinymce.com/bzeaab/17 for how the failing fiddle (at http://fiddle.tinymce.com/bzeaab/16) was amended to allow the plug in to work.

In your case, $.blockUI({ message: editDiv }); becomes

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

One potential downside to this issue is that this approach unbinds everything in the blockUI overlay, not just tinymce plugins, so could be too overreaching for your needs.



来源:https://stackoverflow.com/questions/21321302/using-tinymce-with-blockui

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!