我有一個jQuery函數是這樣的:建立從jQuery函數變量可訪問其他功能
(function($){
$.fn.myjqfunction = function(cfg){
var foo1, foo2;
return this.each...
};
})(jQuery);
我怎樣才能使foo1和foo2的是從外部接近(從另一個這樣的功能)?
這些變量將存儲的一些事情,影響整個文檔的狀態,我想其他功能意識到這一點......
我有一個jQuery函數是這樣的:建立從jQuery函數變量可訪問其他功能
(function($){
$.fn.myjqfunction = function(cfg){
var foo1, foo2;
return this.each...
};
})(jQuery);
我怎樣才能使foo1和foo2的是從外部接近(從另一個這樣的功能)?
這些變量將存儲的一些事情,影響整個文檔的狀態,我想其他功能意識到這一點......
聲明它們的功能外,即全球性的。
您可能希望將它們放在名稱空間/對象/模塊中以保證安全。哪種方法最好取決於你實際上在做什麼。
例如,如果他們涉及具體的選擇,它可能是「最好的」他們直接使用.data
附加到DOM元素,或讓他們在另一個內部的jQuery功能等
我可以使myjqfunction成爲命名空間嗎?並訪問他們像myjqfunction.foo1? – Alex
我想是的,試試this.foo1; this.foo2; –
設置您的像這樣的功能:
(function($){
function myjqfunction(cfg) {
return this.each(...);
}
$.myjqfunction = {
foo1: ... ,
foo2: ...
};
$.fn.myjqfunction = myjqfunction;
})(jQuery);
然後從你的插件外,代碼可以參考$.myjqfunction.foo1
讓那些變量,你是指他們從你的插件代碼中以同樣的方式。
當然有其他類似的方法來設置它。
如果每個函數都需要知道它們,你應該全局聲明它們 – Cyclonecode