【问题标题】:Editor text resizing issue编辑器文本大小调整问题
【发布时间】:2015-04-02 21:22:51
【问题描述】:

我正在使用这样的 Ace-Editor,

<div id="AceEditor"></div>

蓝色区域是我的编辑器,

#AceEditor 
{ 
    position: absolute;
    top: 0;
    right: 300px;
    bottom: 420px;
    left: 0px;
    overflow: auto;
}

使用 Javascript,我将console log 区域配置为最小化,如下所示,

if($("#button").html() == "Minimize")
{
    $('#AceEditor').css("bottom",420);
}
else
{
    $('#AceEditor').css("bottom",0);
}

$("#button").click(function(){
    if($(this).html() == "Minimize"){
        $(this).html("Maximize");
        $('#AceEditor').css("bottom",0);
    }
    else{
        $(this).html("Minimize");
        $('#AceEditor').css("bottom",420);
    }
    $("#ConsoleDisplay, #ConsoleBar").slideToggle();
});

现在的问题是,当我按下 minimize 时,窗口会最小化,但文本光标不会移动到 420px lise 下方,如下图所示,

为了解决这个问题,

我尝试将 CSS AceEditor 描述更改为

#AceEditor 
{ 
    position: absolute;
    top: 0;
    right: 300px;
    bottom: 0px;
    left: 0px;
    overflow: auto;
}

现在虽然文本到达了页面底部,但当控制台日志最大化时,文本不会自动调整为新的bottom pixel

我该如何解决这个问题?

根据下面的答案,我已经尝试过

if($("#button").html() == "Minimize")
{
  $('#AceEditor').css("bottom",420).resize();
}
else
{
  $('#AceEditor').css("bottom",0).resize();
}

也试过了,

if($("#button").html() == "Minimize")
{
  $('#AceEditor').css("bottom",420);
  $('#AceEditor').resize();
}
else
{
  $('#AceEditor').css("bottom",0).resize();
  $('#AceEditor').resize();
}

但问题仍然存在。

【问题讨论】:

    标签: javascript html css ace-editor


    【解决方案1】:

    更改编辑器大小后,您应该调用editor.resize() 让编辑器更新其大小。

    【讨论】:

    • @RahilWazir 我很确定打电话给.resize() 会回答这个问题。
    • 感谢您的回答,即使按照我上面编辑的问题所示进行了更改,问题仍然存在。怎么办?
    • 您在 $('#AceEditor') 上调用 resize,这是一个 jquery 对象。你需要做的是保持ace.edit返回的对象像这样var editor = ace.edit('AceEditor');然后调用editor.resize()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2020-05-14
    • 2021-07-27
    相关资源
    最近更新 更多