我已经使用以下代码段来处理插件中的滚动事件

  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(){
        },


但是我不能从handlescroll method(event)调用测试方法。能否请您调查一下。谢谢

最佳答案

因为您正在尝试将事件绑定到类中的方法(我假设是在原型上),所以您需要将该方法绑定到this,否则它将引用全局状态。因此,当您添加侦听器时,请执行以下操作:

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

因此,这将引用您的插件实例,而不是窗口。

关于javascript - 事件中的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19556093/

10-16 21:47