0

プラグインでスクロール イベントを処理するために、次のコード スニペットを使用しました。

  handleScroll: function () {

            var contentdiv = $(".gridcontent");
            scrollTop = contentdiv.scrollTop();
            var vScrollDist = Math.abs(scrollTop - prevScrollTop);
            if (vScrollDist) {
                vScrollDir = prevScrollTop < scrollTop ? 1 : -1;                
                prevScrollTop = scrollTop;


            }
        },

        test:function(){
        },

しかし、ハンドルスクロールメソッド(イベント)からテストメソッドを呼び出すことはできません。これを調べていただけますか。よろしくお願いします

4

1 に答える 1

2

イベントをクラスのメソッドにバインドしようとしているため (私が想定しているプロトタイプで)、メソッドをバインドする必要があるthisか、グローバル状態を参照します。したがって、リスナーを追加するときは、次のようにします。

contentdiv.bind("scroll", $.proxy(this.handleScroll, this)); //or use fn.bind

したがって、これはウィンドウではなくプラグイン インスタンスを参照します。

于 2013-10-24T03:08:51.213 に答える