我有 TinyMCE 在包含 jQuery UI 选项卡面板的彩盒模式窗口中初始化通过 AJAX 回调加载的文本区域。正在加载文本区域的面板是可滚动的(overflow-y:auto)。但是,似乎当我在这些新文本区域上初始化 TinyMCE 时,它会向下滚动到列表中较低的文本区域之一,并正确初始化它们,但是您不能再在 Chrome 中滚动容器面板的 div。您仍然可以在 Firefox 和 IE 中滚动面板的 div,但不能在 Chrome 中滚动。
我的 AJAX 调用:
function getStuff(id){
$.ajax({
type: 'POST',
url: '/ajax/get_stuff',
data: {id: id},
beforeSend:function(){
$('#panel').html('Loading...');
},
success:function(resp){
$('#panel').html(resp);
ckInit();
},
error:function(){}
});
}
和初始化函数:
function ckInit(){
var config = {
extraPlugins : 'autogrow',
autoGrow_onStartup : true ,
removePlugins : 'resize'
};
$("textarea.ck").each(function() {
if (typeof(CKEDITOR.instances[this.id]) == 'undefined') {
CKEDITOR.replace(this.id, config);
} else {
CKEDITOR.instances[this.id].destroy(true);
CKEDITOR.replace(this.id, config);
}
});
}
如果任何其他信息会有所帮助,请告诉我。而且,提前谢谢!
更新 我感觉 Colorbox 与它有关,所以我尝试在主窗口中加载实例,以获得相同的确切结果。容器 div 向下滚动任意量,滚动条冻结。尝试上下移动它不会滚动。
我尝试用 CKeditor 替换 TinyMCE,但奇怪的是,同样的问题。这让我觉得我在初始化它们是错误的,或者什么......
有任何想法吗?
更新 4/28 似乎如果我单独初始化文本区域,滚动条不会冻结。但是,当我根据类选择器初始化 textareas 时,如上例所示,它确实如此。
另一个奇怪的行为:如果我来回单击以选择一个编辑器,然后选择另一个,如果我这样做几次,它会解锁滚动条。不知何故,切换当前编辑器几次的行为释放了它。