2010-09-10 52 views
0

我想執行一個位於jquery文檔就緒關閉中的函數。 但我想從全局上下文執行它。如何在全局上下文中執行jquery文檔就緒函數關閉中的函數

例如

$("document").ready(function() { 
    function myFunction() { 
     alert("test"); 
    } 
}); 

是否有某種「路徑」語法,我可以寫入,以獲得文檔就緒關閉?

例如這裏是一些僞代碼(我已經制作了這個synatx):

document.ready.myFunction(); 

您可能想知道爲什麼我希望這樣做,原因是我可以在「ready」函數閉包中的javascript控制檯(例如IE開發工具欄/ firebug等中的控制檯)執行函數。

回答

2

總之,你不能,他們只是無法訪問......這是關閉的核心功能之一。如果你想使用它以外,您可能需要外部聲明,就像這樣:

function myFunction() { 
    alert("test"); 
} 
$(document).ready(function() { 
    //something.. 
}); 

或者將其定義爲內部全局變量(雖然我沒有看到的感很多在此,除非你有一些其他的參考回事):

$(document).ready(function() { 
    myFunction = function() { 
     alert("test"); 
    } 
}); 

要定義一個函數並執行它document.ready,也可以是這樣簡單:

function myFunction() { 
    alert("test"); 
} 
$(myFunction); 

這使得它可以訪問和執行它在document.ready一次,不知道這是你以後,但它是一種選擇。

+0

謝謝尼克,那是我猜測的。我正在調試現有的代碼,並沒有真正改變它的奢侈。 – 2010-09-10 11:17:29

+0

@Alex - 在其他地方進行輸出和測試,例如[jsfiddle](http://jsfiddle.net/)一個選項? – 2010-09-10 11:21:46

+0

jsfiddle看起來很有趣 - 感謝您多花一點時間來幫忙:-) – 2010-09-10 11:22:44

相關問題