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 回答