使用Dojo框架调度自定义事件

时间:2011-11-02 10:32:43

标签: javascript events dojo

我正在使用Dojo框架来帮助我进行Javascript开发,交叉浏览DOM操作和事件管理 为此,我希望在对象之间使用自定义事件调度。但我没有发现任何相关内容。我读到了订阅/发布,但这不完全是我想要的 这就是我想要做的事情:

var myObject = new CustomObject();
dojo.connect(myObject, 'onCustomEvent', function(argument) {
    console.log('custom event fired with argument : ' + argument);
});


var CustomObject = (function() {
    CustomObject = function() {
        // Something which should look like this
        dojo.dispatch(this, 'onCustomEvent', argument);
    };
}) ();

有人可以帮助我吗?

感谢。

1 个答案:

答案 0 :(得分:3)

我通常这样做:(使用Dojo 1.3.2测试)

dojo.declare("CustomObject", null, {
    randomFunction: function() {
        // do some processing

        // raise event
        this.onCustomEvent('Random Argument');
    },

    onCustomEvent: function(arg) {
    }
});

var myObject = new CustomObject();
dojo.connect(myObject, 'onCustomEvent', function(argument) {
    console.log('custom event fired with argument : ' + argument);
});


// invoke the function which will raise the custom event
myObject.randomFunction();