使用 dojo 触发 window 调整大小事件

Trigger window resize event with dojo

我想找到一种方法来触发 window 调整大小事件(当您调整浏览器 window 大小时触发的事件)使用Dojo。它可以让我调整 C3 图表的大小。

我发现模块 on 允许使用函数 emit 监听和触发自定义事件,所以这是我尝试过的:

on.emit(win, 'resize', {bubbles: true, cancelable: true});

其中 win 是我尝试用作触发事件源的 dojo/_base/window 模块。我也试过这个:

on.emit(win.body(), 'resize', {bubbles: true,cancelable: true});

但没有任何效果,我的图表没有接收到事件。

使用普通 window 对象:

on(window, 'resize', function() { console.log('resize!')});
on.emit(window, 'resize', {bubbles: true,cancelable: true})
define([
    "dojo/_base/declare",
    "dijit/Viewport"
], function(declare, Viewport) {

    return declare("Som", [Viewport], {
        onClick: function(){
            Viewport.emit("resize");
        }
    });

});