2011-10-01 52 views
1

我有一些jQuery代碼,我打算在我的asp.net web表單應用程序的許多頁面中使用。重用jQuery代碼?

示例:使用jQuery對話框代碼創建用戶。

在Asp.net中,我們使用用戶控件重複使用同一段代碼。關於如何重用jQuery代碼的任何想法?

+0

我不明白。你爲什麼不用一個方法創建一個函數或擴展jQuery對象? –

回答

3

通常,您將代碼放在外部.js文件中,並且在您使用JavaScript中的每個頁面中使用<script src="my/path/to/jsfile.js" type="text/javascript"></script>(或者您可以將它放在主模板中)。

(從註釋由於這......是不是註釋感動:P)

0

我不知道我得到它可以:如果你的意思是使用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 
}); 
1

通常,當我有更復雜的應用工作,也有一些常見的模式我和我的jQuery代碼遵循。爲了處理遍佈代碼庫的分散的JavaScript代碼的問題,我嘗試儘可能在jQuery插件中打包,並盡一切努力使它們儘可能通用。

你可以在這個NDC 2011 talk的設計jQuery插件找到很多提示。

當設計更多的JavaScript框架,比如使用較少的jQuery和更普通的舊JavaScript的應用程序時,我嘗試通過功能將我的代碼分區到不同的文件中。我使用像AjaxMin這樣的打包工具將框架作爲單個可交付的JavaScript文件。

+0

@richq:謝謝,不知道。 – Rickard