我有一些jQuery代码,我打算在我的asp.net Web表单应用程序的许多页面中使用它。
示例:使用jQuery对话框代码创建用户。
在Asp.net中,我们使用用户控件一遍又一遍地重用相同的代码。关于如何重用jQuery代码的任何想法?
答案 0 :(得分:3)
通常,您将代码放在外部.js文件中,并在使用javascript的每个页面中使用<script src="my/path/to/jsfile.js" type="text/javascript"></script>
。(或者您可以将其放在主模板中)。
(由于这个......不是评论而发表评论:P)
答案 1 :(得分:1)
通常,当我使用更复杂的应用程序时,我通常会使用jQuery代码遵循一些常见模式。为了解决代码库中分散的JavaScript代码的问题,我尝试尽可能地在jQuery插件中打包,并尽可能地使它们尽可能通用。
您可以从NDC 2011 talk找到很多关于设计jQuery插件的技巧。
当设计更多JavaScript框架,比如使用更少的jQuery和更简单的旧JavaScript的应用程序时,我尝试按功能将我的代码分区到不同的文件中。我使用像AjaxMin这样的打包工具将merge and minify框架作为单个可交付的JavaScript文件。
答案 2 :(得分:0)
我不确定我是否也得到它:如果你的意思是你对jQuery的体验是它在文档准备好的情况下运行,它可能只是你找到的例子。在这种情况下,dotweb的评论提供了答案。
如果你的意思是你不确定如何将代码放到其他页面中而不通过复制/粘贴将其转储到脚本标签中,那么约瑟夫就有答案。
为了提供新的东西,这是一种相当典型的做法,它考虑到了以上两点:
创建(并按照约瑟夫)包含一个或多个外部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
});