我正在制作一个插件(我的第一个,对不起,如果凌乱;))对于jquery,一切正常,除了事件。无论如何,事件总是适用于最后一个元素。如果只有一个元素一切都很好,但有两个或更多元素事件崩溃。
我一直在寻找类似的猜测,但我无法找到解决方案。
代码已开启:
http://jsbin.com/itajow/edit#javascript,html
,演示在
只是过滤或通过分页来查看问题。
提前致谢!!
答案 0 :(得分:0)
方法中使用的self
变量以不同的方式使用 - 在某个地方,它被创建为局部变量(方法中的var self = this
),而其他地方则被用作变量,其外部生命周期该方法(通过省略var
)。我不知道这是否有意获得其他一些影响,但是让变量local解决了分页问题只发生在最后一个元素。
更新的代码位于http://jsbin.com/itajow/11/edit
注意:声明addNav:function(self)
接受self
对象,但在代码中使用和不使用参数都会调用它,因此函数的第一行通过执行{{1}来修复此问题}。
修改的
要使列表过滤工作,可以按如下方式重写事件绑定:
self = self || this
并且self.$elem.find(".beautableFilter").on("keyup", function() {
var input = $(this).val(); //this == the input element
self.addFiltrado(input);
});
方法应该将addFilterado
作为参数,而不是自己找到它。
(代码,将其保存在此处)
input