我想做的是用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();
});
似乎有效的一种解决方案是在.blockui调用中以选项(以及message
等)传递bindEvents: false
。请参阅http://fiddle.tinymce.com/bzeaab/17有关失败的小提琴(在http://fiddle.tinymce.com/bzeaab/16)的如何修订,以允许插件插入工作。
在您的情况下, $.blockUI({ message: editDiv });
变为
$.blockUI({ message: editDiv, bindEvents: false });
这个问题的一个潜在缺点是,这种方法可以解脱出块中的所有内容,而不仅仅是tinymce插件,因此可能太过了。