5

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

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

但是,无论如何,如果调整大小(拆分)结束,是否可以让我知道?请指教,谢谢!

4

1 回答 1

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 函数的参数,请使用 true 作为最后一个参数调用 aspect.after,例如:

aspect.after(registry.byId("Container"), "resize", function(changeSize, resultSize) {
    // do something with changeSize and resultSize after resize has been called...
}, true);
于 2013-06-19T08:48:14.053 回答