当前位置 : 主页 > 网页制作 > Dojo >

Dojo / Dijit TitlePane

来源:互联网 收集:自由互联 发布时间:2021-06-15
如何使titlePane的高度动态化,以便在页面加载后将内容添加到窗格中,TitlePane将展开? 看起来富内容编辑器是异步加载的iframe会混淆初始布局. 正如@missingno所提到的,resize函数是你想要看的
如何使titlePane的高度动态化,以便在页面加载后将内容添加到窗格中,TitlePane将展开? 看起来富内容编辑器是异步加载的iframe会混淆初始布局.

正如@missingno所提到的,resize函数是你想要看的.

如果在your page上执行以下功能,则可以看到它确实正确调整了所有内容的大小:

//iterate through all widgets
dijit.registry.forEach(function(widget){
    //if widget has a resize function, call it
    if(widget.resize){
        widget.resize()
    }
});

上面的函数遍历所有小部件并调整所有小部件的大小.这可能是不必要的.在初始化dijit.Editor之后,我认为你只需要在每个与布局相关的小部件上调用它.

在实际页面上执行此操作的最简单方法可能是将其添加到addOnLoad函数中.例如:

dojo.addOnLoad(function() {
        dijit.byId("ContentLetterTemplate").set("href","index2.html");
        //perform resize on widgets after they are created and parsed.
        dijit.registry.forEach(function(widget){
              //if widget has a resize function, call it
              if(widget.resize){
                  widget.resize()
              }
        });
    });

编辑:该问题的另一个可能的解决方法是将内容窗格上的doLayout属性设置为false.默认情况下,所有ContentPane(包括TitlePane和dojox.layout.ContentPane等子类)都将此属性设置为true.这意味着ContentPane的大小是预先确定的并且是静态的.通过将doLayout属性设置为false,ContentPanes的大小将随着内容变大或变小而有机增长.

网友评论