2015-12-02 29 views
-1

爲了使一個普通的JS函數在任何地方都可以訪問,我只需要在jQuery(document).ready(function($){})之外聲明它。但是如果這個JS函數包含jQuery的東西呢?那麼我怎樣才能讓它從任何地方訪問,特別是來自不同的JS文件?如何使jQuery函數可以從任何地方訪問?

+0

你在你的頭加載的jQuery。這使得jquery可以在任何地方訪問。將多個腳本載入頁面就像注入代碼一樣。按照正確的順序定義一個函數,第二個腳本可以訪問它。 –

+0

你必須想象,所有的javascript都會按照它們被加載到頁面的順序運行,所以如果包含了jQuery,那麼之後的任何腳本都可能使用它(這不一定意味着它應該*或者它會從中受益)。 – Neil

+0

另請參閱[this question](http://stackoverflow.com/questions/3809862/can-we-call-the-function-written-in-one-javascript-in-another-js-file) – Draco18s

回答

1

完全一樣。只要您在功能之前包含jQuery即可。

所以

<script src="jquery.js"></script> 
<script src="yourglobalfunctionshere.js"></script> 
<script src="documentreadystuff.js"></script> 
<script> 
jQuery(document).ready(function($){ 
    //or here some stuff 
}) 
</script> 
+0

不如果你在注入'$',那麼這需要成爲一個IIFE? –

+0

@SterlingArcher不,請看這裏; http://www.sitepoint.com/types-document-ready/ –

+1

@SterlingArcher不,這是文檔就緒處理程序的簡寫,它傳遞'$'作爲準備處理程序中的jQuery引用。 'ready'僞事件處理程序的第一個參數總是'jQuery':'但是,傳遞給.ready()方法的處理程序可以接受一個參數,該參數傳遞給全局jQuery對象。這意味着我們可以在.ready()處理程序的上下文中重命名對象,而不會影響其他代碼 –

相關問題