Jquery,Javascript和观察者模式

时间:2010-04-06 11:45:57

标签: jquery

我正在尝试在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);

1 个答案:

答案 0 :(得分:2)

以下是关于您的代码的一些评论:

  1. notifications数组始终为空 - []。您的代码中没有任何内容可以将元素放入其中,因此bind函数可以绑定到任何内容。
  2. 当DOM准备就绪或NoteApp = new NoteApp();ask_numberask_email元素尚未初始化时,应调用
  3. ask_out
相关问题