事件监听器?

时间:2014-02-06 10:38:09

标签: javascript jquery

我有一个无限的滚动类:

(function(){
"use strict";

var InfiniteScroll = function() {
    this.init();
};

var p = InfiniteScroll.prototype = mc.BaseClass.extend(gd.BaseClass);
p.BaseClass_init = p.init;

/*
 * Public properties
 */
p.loading = false;

/* 
 * Public methods
 */
p.init = function() {
    // Super
    this.BaseClass_init();

    // Init
    this.ready();

};

p.ready = function() {

    this._initInfiniteScroll();

};

p._initInfiniteScroll = function() {

    $(window).scroll(function(){  
        if($(window).scrollTop() == $(document).height() - $(window).height()){

            if(!p.loading)
            {
                p.loading = true;
                //send a message up to say loading
            }

        }  
    });   

}


mc.InfiniteScroll = InfiniteScroll;
}(window));

现在通过以下方式从另一个类调用:

this.infiniteScroll = new mc.InfiniteScroll();

在其他课程中,我希望在从我收到评论的地方开始滚动时听取:     //发送消息说要加载

我只是想知道如何解决这个问题,我对AS3中的事件监听器很熟悉,但是有人能指出我正确的js方向吗?

1 个答案:

答案 0 :(得分:1)

您可以在类中实现一个自定义事件处理程序,您可以在this post中的其他类中添加侦听器函数。

您将在_initInfiniteScroll函数中使用它,如:

//send a message up to say loading
this.fire({ type: "ContentLoadingEvent" });

尽管如帖子所示,为InfiniteScroll事件创建一个单独的类更好。