有人可以指出我可能错在哪里吗?我的问题是,在我的观点中,我有一些脚本,似乎jQuery在某种程度上不起作用(可能是我的错在某处)。
我引用了我的布局页面中指定的jQuery,它总是被加载。然后我的观点看起来像这样
@model jakubholovsky.com.Models.BlogPost
@using jakubholovsky.com.DataModels
@using jakubholovsky.com.Enum
@{
ViewBag.Title = "Jakub Holovsky - Blog - Post - " + Model.Post.title;
}
<h2>
@Model.Post.title</h2>
<div>
SOME CODE
</div>
<script type="text/javascript">
$(document).ready(function () {
alert("hello");
$('#addACommentDiv').click(function () {
alert("hello");
if ($('#commentFieldset').is(':hidden')) {
$("#commentFieldset").slideDown("slow");
$('#addACommentDivButton').html('Close commenting');
}
else {
$("#commentFieldset").slideUp("slow");
$('#addACommentDivButton').html('Comment on this article');
}
});
});
</script>
我试图在我的视图中引用jQuery但没有运气。我还尝试使用基本的javascript(只是警告窗口)来检查它是否有效。我还检查了浏览器是否加载了jQuery(它是)。
警报(“你好”); line只是为了看它是否通过了ready函数。
这就是我在布局页面中引用它的方式。
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("/Scripts/jquery-1.7.2.js")" type="text/javascript"></script>
<script src="@Url.Content("/Scripts/jquery-1.7.2-vsdoc.js")" type="text/javascript"></script>
<script src="@Url.Content("/Scripts/modernizr-2.5.3.js")" type="text/javascript"></script>
<script src="@Url.Content("/Scripts/google-analytics.js")" type="text/javascript"></script>
</head>
感谢您帮助我。
答案 0 :(得分:1)
我建议使用捆绑功能,以便您可以使用通配符来选择脚本。这将有助于您的脚本的未来版本升级。
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*"));
然后在你的布局或html中呈现它
@Scripts.Render("~/bundles/jquery")
答案 1 :(得分:0)
在每个链接之前,尝试添加“〜”代字符。我也遇到过这个问题。另外,尝试将物理js文件(从解决方案资源管理器)拖到此布局页面上。它将确认您的文件夹结构/路径是否正确。
我必须做的最后一件事就是使用像“../”之类的东西。你使用它的次数取决于它必须上升多少个父文件夹。
希望有所帮助。