5
我創建了一個簡單的jQuery擴展(這是我的第一個擴展)。創建jQuery擴展。範圍問題
(function($){
var MyClass = function(opt){
//..
};
//one of the methods of my extension
$.fn.myExtension = function(opt){
this._ext = new MyClass(opt);
return this;
};
$.fn.myExtensionOtherMethod = function(){
if(this._ext){
//do something ..
}
return this;
};
}(jQuery));
//using ..
$(document).ready(function(){
$('#selector').myExtension({
//options ..
});
$('#selector').myExtensionOtherMethod();
});
當調用方法$('#selector').myExtensionOtherMethod();
,this
不包含this._ext
變量。我知道這是其他範圍,但我知道有兩種方法訪問該變量的方法。我可以做到嗎?
您的最終目標是什麼?您希望爲每個匹配選擇器的元素創建一個myClass的新實例或選項,還是您的擴展將使用的myClass的單個實例,無論選擇哪個元素? –
您每次使用'$('#selector')'時都會創建一個不同的對象。 – charlietfl
你想完成什麼?使用'data()'可能會有所幫助 – charlietfl