微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dojo / Dijit TitlePane

如何使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的大小将随着内容变大或变小而有机增长.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐