Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结构化javascript/jQuery_Jquery_Asp.net - Fatal编程技术网

结构化javascript/jQuery

结构化javascript/jQuery,jquery,asp.net,Jquery,Asp.net,我在很多ASP.NET webforms项目中工作。因为我不太喜欢回发,所以我倾向于编写大量jqueryajax调用来处理cilent->server调用 但是在脚本标记/javascript文件中保留大部分逻辑通常会很快变得混乱,即使我试图使用很多函数和模拟类。我应该补充一点,99%的代码是jquery,而不是“纯”javascript 所以我想知道你们是如何处理这个问题的。我不可能是唯一一个:-)提前感谢我真的很喜欢“不引人注目的javascript”方法,在这种方法中,您可以将几乎所有的静

我在很多ASP.NET webforms项目中工作。因为我不太喜欢回发,所以我倾向于编写大量jqueryajax调用来处理cilent->server调用

但是在脚本标记/javascript文件中保留大部分逻辑通常会很快变得混乱,即使我试图使用很多函数和模拟类。我应该补充一点,99%的代码是jquery,而不是“纯”javascript

所以我想知道你们是如何处理这个问题的。我不可能是唯一一个:-)提前感谢

我真的很喜欢“不引人注目的javascript”方法,在这种方法中,您可以将几乎所有的静态javascript/jQuery代码加载到一个捆绑、缩小、缓存的javascript文件中,然后在HTML元素上使用类和“数据”注释来标记它们的某些操作。编写javascript是为了扫描DOM中的这些标志,并相应地设置其逻辑行为

这种方法有助于迫使您将javascript组织到逻辑模块中,这有助于减少重复代码。它将javascript与HTML分开


唯一需要注意的是,动态加载的内容也需要扫描,因此,在向DOM添加AJAX提供的内容时,请确保对添加的元素调用扫描方法。

我喜欢为每个表单或用例定义JS类。该类连接页面的事件处理程序和行为。然后,当页面加载时,它实例化或调用JS类上的init()方法以逐步增强它

例如,登录页面可能引用名为Account_logon.JS的JS文件。在页面底部,您可以让它调用myApp.logon.init(),其中myApp是登录类的“名称空间”


然后,init()调用为表单提交事件添加一个处理程序,以执行客户端验证或其他任何您想要的操作。

我将Coffeescript与Mindscape VS插件一起使用。它迫使你将你的罐保存在不同的客户可访问的文件中,最终打破了你在这里担心的坏习惯。看看吧,它是免费的,而且咖啡脚本非常有趣。我现在对它很感兴趣。它的一个优点是你可以从中挑选你所用的东西。这不是一种“要么全有,要么全无”的事情。最近也有一篇关于它的文章,非常有趣。