Отправка пользовательских событий с помощью фреймворка Dojo

#javascript #events #dojo

#javascript #Мероприятия #dojo

Вопрос:

Я использую Dojo Framework, чтобы помочь мне в разработке Javascript с перекрестным просмотром DOM-манипуляций и управлением событиями.
Для этого последнего я надеялся использовать пользовательскую отправку событий между объектами. Но я ничего не нахожу по этому поводу. Я читал о subscribe / publish, но это не совсем то, что я хочу.
Вот что я хотел бы сделать :

 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:

Обычно я делаю это так: (протестировано с 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();
 

Комментарии:

1. Спасибо. Поэтому вам нужно вызвать существующую функцию в качестве идентификатора события. Я больше использую систему string handler, но я разберусь с этим. Еще раз спасибо