Отправка пользовательских событий с помощью Dojo framework - PullRequest
6 голосов
/ 02 ноября 2011

Я использую инфраструктуру 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 Ответ

3 голосов
/ 02 ноября 2011

Обычно я делаю это так: (протестировано с 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...