Мне нужно запустить пользовательские события из класса. Я знаю, что делать это с объектами DOM и jquery, используя triggerHandler, например $ (object). TriggerHandler ("inputChange", {param: X}); Проблема заключается в том, когда я пытаюсь это с классом, как это:Пользовательские события в CLASS
var MyClass = (function(){
var static_var = 1;
var MyClass = function() {
var privateVar;
var privateFn = function(){ alert('Im private!'); };
this.someProperty = 5;
this.someFunction = function() {
alert('Im public!');
};
this.say = function() {
alert('Num ' + this.someProperty);
$(this).triggerHandler("eventCustom");
}
this.alter = function() {
this.someProperty ++;
}
};
return MyClass;
})();
TheClass = new MyClass();
$(TheClass).on('eventCustom', function() {
alert('Event!');
});
TheClass.say();
Это не запускает предупреждения или ошибки, но события слушатель не работает (или событие не отправляется). Я думаю, что система событий jQuery не работает с объектом DOM, правильно?
Любой другой способ (мне нужны события, а не обратные вызовы для моего конкретного случая) для запуска событий?
Большое спасибо!
* "я думаю, что система событий jqeury работы ж доцент с не DOM-объектом "* Неверно: http://api.jquery.com/jQuery/#working-with-plain-objects. Вопрос в том, работает ли он с объектами, созданными с помощью функций-конструкторов. –