我正在尝试使用 jquery-boilerplate-v3.1 开发插件,并且在“this”和“$(this)”之间感到困惑
in the plugin
...
$.fn[pluginName] = function ( options ) {
//alert($(this).toSource());
return this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName, new Plugin( this, options ));
}
});
};
似乎new Plugin(this, options)
没有返回 Plugin.prototype 上下文中的元素。
相反,我已将其修改为Plugin($(this), options)
.
eg.
$(function(){
$('#container').myPlugin();
});
如果不使用 $(this) 作为参数,我无法访问插件中的 this.element , .toSource() return empty object ({})
。
我是否通过修改为 $(this) 或如何使用this
参数访问#container 来做正确的方法。
TIA。