#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, но я разберусь с этим. Еще раз спасибо