调整大小结束时的dijit / layout / ContentPane?

时间:2013-06-19 04:55:03

标签: dojo dijit.layout

我现在正在使用dojo 1.8.3,现在我的页面上有一个带有2个ContentPane的BorderContainer。我想听一下resize事件,像这样的代码

dojo.ready(function(){
    dojo.connect(dijit.byId("Container"), "resize", function(changeSize, resultSize){
        // do my stuff here...
    });
});

但是,如果调整大小(分裂)结束,有没有让我知道?请指教,谢谢!

1 个答案:

答案 0 :(得分:6)

首先,我建议使用"modern dojo",因为你无论如何都在使用dojo 1.8。不推荐使用dojo/connect,现在可以使用dojo/aspect来“监控”函数调用。

所以你最终得到的结果是:

require(["dojo/ready", "dojo/aspect", "dijit/registry"], function(ready, aspect, registry) {
    ready(function() {
        aspect.after(registry.byId("Container"), "resize", function() {
            // do something after resize has been called...
        });
    });
});

如果您想要访问已传递给resize函数的参数,请调用aspect.after,将true作为最后一个参数,如:

aspect.after(registry.byId("Container"), "resize", function(changeSize, resultSize) {
    // do something with changeSize and resultSize after resize has been called...
}, true);