我在表单上放置了一个显示和隐藏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时出现了一个bug
看这张照片
另一个问题是没有把焦点放在这个领域
http://i.stack.imgur.com/rhcQe.jpg
发布于 2013-09-10 20:20:16
再次显示后,请尝试调用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() -强制编辑器调整其工具栏、文本区和iframe的大小。应在初始化隐藏编辑器并使其可见后,或在更改div元素的宽度、高度或父级之后调用此方法。
https://stackoverflow.com/questions/18718701
复制相似问题