我想要做的是使用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();
});
答案 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插件,因此可能太过于无法满足您的需求。