Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery TinyMCE/CKeditor在初始化时冻结容器div的滚动_Jquery_User Interface_Tabs_Tinymce_Ckeditor - Fatal编程技术网

Jquery TinyMCE/CKeditor在初始化时冻结容器div的滚动

Jquery TinyMCE/CKeditor在初始化时冻结容器div的滚动,jquery,user-interface,tabs,tinymce,ckeditor,Jquery,User Interface,Tabs,Tinymce,Ckeditor,我让TinyMCE初始化通过AJAX回调加载的文本区域,在一个包含jQuery UI选项卡面板的colorbox模式窗口中。文本区域加载到的面板是可滚动的overflow-y:auto。然而,当我在这些新的文本区域上初始化TinyMCE时,它会向下滚动到列表中较低的文本区域的一半,并正确地初始化它们,但是你不能再在Chrome中滚动容器面板的div。您仍然可以在Firefox和IE中滚动面板的div,但不能在Chrome中滚动 我的AJAX调用: function getStuff(id){

我让TinyMCE初始化通过AJAX回调加载的文本区域,在一个包含jQuery UI选项卡面板的colorbox模式窗口中。文本区域加载到的面板是可滚动的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时,如上面的示例所示,它确实会这样做


另一个奇怪的行为:如果我来回点击选择一个编辑器,然后选择另一个,如果我这样做几次,它就会解锁滚动条。不知何故,几次切换当前编辑器的动作会释放它。

我在jQuery模式中加载编辑器时也遇到过这个问题。结果证明锚/散列有问题。当显示模式时,如果url中有,Chrome将阻塞。如果您可以在显示模式之前删除它,它将工作


这是TinyMCE版本3.5b2上的问题。

我也遇到了同样的问题,你们有谁找到了解决方案吗

编辑:看来确实是URL中的哈希导致了问题。我对下面的解决方案不满意,但它确实有效

$('body').on('click', 'a', function(e){
  if( $(this).attr('href') === '#' ) e.preventDefault(); 
});
希望这对某人有所帮助,但如果有人想出更好的解决方案,请告诉我

我发现以下文章可能会有所帮助:


这就是我最终使用的解决方案。不漂亮,我不喜欢覆盖默认行为,但我找不到其他方法。那么为什么不在init编辑器之前删除地址栏中的哈希?可能对未来的谷歌用户有帮助。。。