我有一些jQuery代碼,我打算在我的asp.net web表單應用程序的許多頁面中使用。重用jQuery代碼?
示例:使用jQuery對話框代碼創建用戶。
在Asp.net中,我們使用用戶控件重複使用同一段代碼。關於如何重用jQuery代碼的任何想法?
我有一些jQuery代碼,我打算在我的asp.net web表單應用程序的許多頁面中使用。重用jQuery代碼?
示例:使用jQuery對話框代碼創建用戶。
在Asp.net中,我們使用用戶控件重複使用同一段代碼。關於如何重用jQuery代碼的任何想法?
通常,您將代碼放在外部.js文件中,並且在您使用JavaScript中的每個頁面中使用<script src="my/path/to/jsfile.js" type="text/javascript"></script>
(或者您可以將它放在主模板中)。
(從註釋由於這......是不是註釋感動:P)
我不知道我得到它可以:如果你的意思是使用jQuery你的經驗是,它的運行在準備好文件時,它可能就是您找到的例子。在這種情況下,dotweb的評論提供了答案。
如果您的意思是您不確定如何將該代碼放入其他頁面而不通過複製/粘貼將其轉儲到腳本標籤中,Joseph有答案。
對促進新的東西的緣故,這裏的做的一個相當典型的方式,也考慮到上述兩個:
創建(幷包括,按照約瑟夫)構成的一個或多個外部JS文件你認爲你的應用程序的JS組件。 「myApp.js」或其他。在這個文件裏面,你可以使用一個對象來存儲所有的函數(按照dotweb)。這爲它提供了一個安全的名稱空間,並提供了一種準全局方式來訪問函數和變量。從文檔的角度來說,並非實際上是「全局的」,而是在一個範圍內,您可以輕鬆地在應用程序的任何其他地方使用和調用。所以,你的內容可能看起來像:
var myApp = myApp || {}; // create a new empty object if that variable name is available
myApp.divHider = function() {
$('div').hide();
}
myApp.backColor = function(color) {
$('body').css('background', color);
}
// document ready function, which is where you might be accustomed to seeing scripts executed. Doesn't HAVE to be in this file; could be anywhere that makes sense
$(function() {
myApp.divHider(); // hide all divs on document ready. Just a silly example
});
通常,當我有更復雜的應用工作,也有一些常見的模式我和我的jQuery代碼遵循。爲了處理遍佈代碼庫的分散的JavaScript代碼的問題,我嘗試儘可能在jQuery插件中打包,並盡一切努力使它們儘可能通用。
你可以在這個NDC 2011 talk的設計jQuery插件找到很多提示。
當設計更多的JavaScript框架,比如使用較少的jQuery和更普通的舊JavaScript的應用程序時,我嘗試通過功能將我的代碼分區到不同的文件中。我使用像AjaxMin這樣的打包工具將框架作爲單個可交付的JavaScript文件。
@richq:謝謝,不知道。 – Rickard
我不明白。你爲什麼不用一個方法創建一個函數或擴展jQuery對象? –