使用插件cleditor显示div

时间:2013-09-10 12:13:53

标签: javascript jquery

我在表单上放了一个显示和隐藏div的图像

<a href="#" onclick="javascript:hide_menu()" id="hidden"><img bla bla>

这是我在javascript中的功能

function hide_menu(){

    if(document.getElementById('responder').style.display == "none"){

        document.getElementById('responder').style.display = "block";
        document.getElementById('button').style.display = "block"
        $('html, body').animate({scrollTop:$('#responder').position().top}, 'slow');
        document.getElementById('cleditor').focus();
        document.getElementById('cleditor').select();

    }else{
        document.getElementById('responder').style.display = "none"
        document.getElementById('button').style.display = "none"
        $('html, body').animate({scrollTop:$('#da-content-wrap').position().top}, 'slow');
    }
}

工作正常,问题是当我显示div

时发生的错误

看这张照片

![在此处输入图片说明] [1]

另一个问题是不关注该领域

http://i.stack.imgur.com/rhcQe.jpg

1 个答案:

答案 0 :(得分:0)

尝试再次显示后再调用document.getElementById('cleditor')。refresh()。

也许是这样的:

function hide_menu(){

    if(document.getElementById('responder').style.display == "none"){

        document.getElementById('responder').style.display = "block";
        document.getElementById('button').style.display = "block"

        $('html, body').animate({scrollTop:$('#responder').position().top}, 'slow', function() {
           document.getElementById('cleditor').refresh();
           document.getElementById('cleditor').focus();
           document.getElementById('cleditor').select();
        });

    }else{
        document.getElementById('responder').style.display = "none"
        document.getElementById('button').style.display = "none"
        $('html, body').animate({scrollTop:$('#da-content-wrap').position().top}, 'slow');
    }
}
  

.refresh() - 强制编辑器调整其工具栏,textarea和iframe的大小。在初始化隐藏编辑器并使其可见之后,或在更改$ main div元素的宽度,高度或父级之后,应调用此方法。