嗨我有幾個自定義函數包裝在jQuery的document.ready函數中。大多數這些功能都是在該功能和工作中使用的,但有一種情況是我想從全局範圍訪問此功能中包含的功能。我怎樣才能做到這一點?我可以做些什麼: jQueryReadyScope.myFunctionName('paramaters');使用javascript訪問隱藏函數
非常感謝。
嗨我有幾個自定義函數包裝在jQuery的document.ready函數中。大多數這些功能都是在該功能和工作中使用的,但有一種情況是我想從全局範圍訪問此功能中包含的功能。我怎樣才能做到這一點?我可以做些什麼: jQueryReadyScope.myFunctionName('paramaters');使用javascript訪問隱藏函數
非常感謝。
沒有,但是你可以命名的功能和它傳遞給.ready()
:
var myFunctionName = function (params) {
// do things
}
// pass as callback to ready function
jQuery(document).ready(myFunctionName);
// access directly like any other function:
myFunctionName('paramaters');
這是一個範圍問題,您只需指定名稱空間即可。在這種情況下,你說的是全球性的,所以我們將使用窗口。
window.myFunction = function() { ... stuff }
要從全局範圍內它需要被分配到一個全局變量訪問它,要麼通過聲明它在您的文檔之外準備好或者將其指定爲window
的屬性:
var yourGlobalFunction1 = function() { ... }
$(document).ready(function() {
function privateFunction() { ... }
window.yourGlobalFunction2 = function() { ... };
yourGlobalFunction1();
privateFunction();
yourGlobalFunction2();
});
yourGlobalFunction1();
// and then at some later point AFTER the document ready has run,
// e.g., in response to some event:
$("#someelement").click(function() {
yourGlobalFunction2();
});
首要的是:您爲什麼要訪問它?我不相信你需要從外面訪問它 – Onkelborg 2012-07-11 22:53:23