如果你想讓你的函數可以從全局範圍訪問並且尊重jQuery約定,你應該在jQuery對象中對它進行處理。
(function ($) {
$._fnGetRowIDFromAttribute = function(row) {
return "foo";
}
$.fn.makeEditable = function (options) {
return this.each(function() {
//some code
});
};
})(jQuery);
或者你可以把它放在一個命名空間:
(function ($) {
$.myModule = $.myModule || {};
$.myModule._fnGetRowIDFromAttribute = function(row) {
return "foo";
}
$.fn.makeEditable = function (options) {
return this.each(function() {
//some code
});
};
})(jQuery);
另一句話:如果你的函數不使用的$ .fn.makeEditable的範圍的話,沒有理由重新定義它每次調用$ .fn.makeEditable。你可以在用於指定jQuery插件的直接函數中定義它。
最後但並非最不重要的,一個變量或與它的功能與下劃線開始是傳統的方式來告訴它的私人,不應該從外部調用的名稱。所以你應該考慮改變它的名字。
你不能,這就是使它成爲插件的一部分 - 它是封裝的,不是函數的公共返回值的一部分。 – Interrobang
因此,任何解決方法?我有插件代碼。我怎樣才能讓它成爲公衆號召的一部分? –
在全局範圍內複製函數。複製粘貼作業。 – Interrobang