我想在
javascript中使用javascript中的观察者模式,但触发器和绑定不起作用.我该怎么做才能获得“警报”(‘通知绑定’);“跑?谢谢 😉
(function($){
var NoteApp = function(){
var self = this;
this.notifications = [];
this.EVENT = {
NOTIFY: 'notify'
};
this.button = {
ask_number: $('#ask-number'),
ask_email: $('#ask-mail'),
ask_out: $('#ask-out')
};
var Button = function(){
};
var Data = function(app){
$(app.notifications).bind(app.EVENT.NOTIFY, function(){
alert('notify binded');
});
}(this);
var UI = function(app){
app.button.ask_number.bind(app.EVENT.NOTIFY, function(){
alert('notify 2');
});
app.button.ask_number.click(function(){
//alert(app.EVENT.NOTIFY);
$(app.notifications).trigger(app.EVENT.NOTIFY);
return false;
})
}(this);
}
NoteApp = new NoteApp();
})(jQuery);
最佳答案 以下是关于您的代码的一些评论:
> notifications数组始终为空 – [].您的代码中没有任何内容将元素放入其中,因此bind函数不会绑定任何内容.
> NoteApp = new NoteApp();应该在DOM准备好时调用,或者ask_number,ask_email和ask_out元素可能尚未初始化.