我已经阅读了很多关于jquery插件中的闭包和设计模式(甚至是一些相互矛盾的事情),但我并不完全理解它...... 我有这个代码,已经有效,但我不知道这是我最好的做法...
(function($) {
var methods = {
method1 : function() { .... }
}
return this.each(function() {
$(this).change(function()
{
methods.method1.apply($(this));
})
});
})(jQuery);
我怀疑是在事件委托功能内...我应该在那里使用闭包而不是申请吗?什么是最佳做法?我该如何定义那个闭包? 感谢
答案 0 :(得分:0)
你从这里看到的东西看起来是正确的。 (虽然jQuery代码有时难以通过视觉验证!)当调用事件委托时,this
将是引发事件的DOM元素。那里不需要关闭。
答案 1 :(得分:0)
除了其他答案之外,this.each
内部只有$(this).change(...)
是多余的。如果你改成它:
// no this.each
this.change(function() {
// ...
});
然后它应该完全相同,但更简洁,更有说服力。