我使用默认模板创建了一个MVC 4,其中@ Script.Render(〜“bundles / jquery”)在@RenderBody()之后调用。根据
this帖子,这是建议的执行顺序,以防止加载脚本阻止页面的呈现。
我想在我的视图或我的RenderBody()部分添加一个小jQuery调用。看起来像这样,在我的看法的顶部:
<script type="text/javascript"> $(document).ready(function() { $("#eta_table").tablesorter({ headers: { 0: { sorter: false } } }); });
但是,这将总是抛出错误错误:’$’是未定义的,因为jQuery不加载,直到RenderBody()之后。
我不能想象这是一个新的问题,它似乎是一个相当普遍的任务…任何建议如何这应该处理?
作为参考,这里是加载jQuery的地方:
@Scripts.Render("~/bundles/jquery") @RenderSection("scripts",required: false) </body>
编辑
我最终将脚本移动到我的scripts.js文件,并将其加载到下面的jQuery布局页面,像这样:
bundles.Add(new ScriptBundle("~/bundles/custom").Include( "~/Scripts/Custom/tablesorter.js","~/Scripts/Custom/scripts.js"));
和HTML:
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/custom") @RenderSection("scripts",required: false) </body>