我一直在遵循创建 jQuery 插件的标准方法。特别是关于不污染 fn 命名空间的一点。但是,我遇到了一些奇怪的事情,它违反了它自己的“从不使用$(this)
规则”。
var methods = {
init : function( options ) {
return this.each(function(){
var $this = $(this), //HERE
data = $this.data('tooltip'),
tooltip = $('<div />', {
text : $this.attr('title')
});
// If the plugin hasn't been initialized yet
if ( ! data ) {
/*
Do more setup stuff here
*/
$(this).data('tooltip', {
target : $this,
tooltip : tooltip
});
}
});
},
this
在这种特殊情况下重新评估是否必要?如果是这样,为什么?