JavaScript 已在 Chrome 浏览器中启用。我希望在单击某个段落时出现警报。为什么它不起作用?! 如果我让 JavaScript 正常工作,我认为 jQuery 也可以正常工作。
这是 _Layout.cshtml 页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/Scripts/jquery-1.7.1.js")
@Scripts.Render("~/bundles/modernizr")
<script>
$(document).ready(
$("#para").click(function() {
alert("you clicked the paragraph");
})
);
</script>
</head>
<body>
<p id="para">Some paragraph</p>
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
最佳答案
你已经包含了 jquery 两次。一次在头部,一次在末尾。像这样尝试:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<p id="para">Some paragraph</p>
@Scripts.Render("~/bundles/jquery")
<script type="text/javascript">
$("#para").click(function() {
alert("you clicked the paragraph");
});
</script>
@RenderSection("scripts", required: false)
</body>
</html>
@Scripts.Render("~/bundles/jquery")
调用使用 ASP.NET MVC 4 新的捆绑机制,其中包括 jQuery。查看您的 ~/App_Start/BundleConfig.cs
文件以查看其配置方式。另请注意,在我的示例中,我如何删除了 document.ready
调用,因为它不再需要,因为我已将脚本放在文档的末尾。
关于ASP .NET MVC 布局页面中的 JavaScript/jQuery 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721854/