是否可以在each
- 函数中访问jQuery的插件对象?
var pluginName = 'pluginName',
Plugin = function(elem){
elem.add = function () {
console.log('foo');
return this;
};
};
$.fn[pluginName] = function () {
// this works
new Plugin(this);
return this;
// this doesn't!
// return this.each(function(){
// new Plugin($(this));
// });
};
var plugin = $('.foo').pluginName();
plugin.add();
答案 0 :(得分:0)
进入.each()
时的上下文与外部的上下文不同。您可以使用如下变量维护上下文:
var _this = this;
return this.each(function(){
new Plugin($(_this));
});
答案 1 :(得分:0)
Mash几乎是正确的,但正确的代码是,
var _this = this;
return _this.each(function(){
console.log($(this));
new Plugin($(this));
});
虽然我无法理解这一点,但这个增加应该做什么?