Jquery,Javascript和观察者模式

我想在
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元素可能尚未初始化.

点赞