我使用jquery创建了一些基本脚本,当放在我的一个MVC视图中的标记下面时,它工作正常。我想将这些脚本移动到Scripts文件夹中的单独文件中,因此我创建了一个名为“CustomJquery.js”的文件并将其放在Scripts文件夹中。我在'BundleConfig.cs'中为它创建了一个包,但是当我使用@ Scripts.Render(“〜/ bundles / CustomJquery”)从我的视图调用时,我的脚本不再起作用了。我甚至尝试将它们放在'_Layout.cshtml'中,但仍然没有运气。请参阅下面的代码。任何帮助将不胜感激。感谢
Scripts文件夹中的CustomJquery.js
$("#Button").click(function () {
alert("hello");
});
Index.cshtml
<input id="Button" type="submit" value="Test" />
@Scripts.Render("~/bundles/CustomJquery")
BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/CustomJquery").Include(
"~/Scripts/CustomJquery.js"));
更新
是的,我可以在Google Chrome工具的“来源”标签中看到我的'CustomJquery.js'。
我可以在标记中看到脚本src,按照'Elements'标签
<script src="/Scripts/CustomJquery.js"></script>
</section>
</div>
请帮忙
答案 0 :(得分:5)
您是否在index.cshtml页面中包含了jquery库。即:<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
答案 1 :(得分:1)
首先要做的是使用网络开发者工具查看Chrome等网页。检查源并确保您在代码中看到脚本并检查网络选项卡,并确保没有收到任何404错误。您还应该能够单击以查看js的内容,以确保它符合您的期望。还要检查控制台中是否有任何脚本错误。
假设您已经在其他地方使用捆绑包,最可能的问题是拼写错误,路径错误或复制和粘贴时添加/丢失的流浪字符。
如果您可以按照上述步骤操作,如果它无法帮助您解决问题,请提供您所看到的更多详细信息,包括任何错误,以便我们进一步帮助您。
<强>更新强>
我也建议使用
console.log("click fired!");
而不是警报并检查消息是否出现在控制台日志中。使用警报可能会导致问题。
答案 2 :(得分:1)
通过查看来源或使用IE开发工具,Firebug或Chrome开发工具确认您的文件被接收后,您是否还可以检查您是否具有“就绪处理程序”,如:
$(function() {
// Handler for .ready() called.
});
在您的CustomJquery.js文件中,您还需要确保引用了jquery。
使用Firefox和一个名为firebug的工具
切换到脚本并单击编辑,你应该在那里看到你的脚本,在左边添加一个breackpoint,如果你在控制台中看到错误,看它是否被击中。
答案 3 :(得分:0)
您的捆绑名称可能与我几天前遇到的问题相同。
由于您要包含的脚本位于Scripts文件夹中,因此您的包名称必须为“〜/ Scripts / WHATEVERYOUWANTHERE ”