JavaScript无法在页面中工作

时间:2017-05-29 05:38:44

标签: javascript html

我试图在点击按钮时调用警报功能,但它没有触发。

<button aria-hidden="false" type="button" title="Test" onclick='alert("hii");'>
    <div>×</div></button>

在这里,我将这个页面呈现为另一个页面(布局页面)中的主体(带有jQuery包),其头部也包含jQuery文件。以下是示例代码。

Layout.cshtml:

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <meta http-equiv="CACHE-CONTROL" content="no-cache" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>@ViewBag.Title</title>

    @Styles.Render("~/Content/css") 
    <script src="~/Scripts/jquery.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery-ui-1.8.20.js"></script>

    </head>)

    <body>
    @RenderBody()
    </body>

</html>

Template.cshtml:

@Scripts.Render("~/bundles/Scripts")
<button aria-hidden="false" type="button" title="Test" 
onclick='alert("hii");'><div>×</div></button>

此Template.cshtml代码将在layout.cshtml的正文部分中呈现。

2 个答案:

答案 0 :(得分:0)

您可以多次检查您的网页是否没有相同的JS引用。正如您在head部分添加了脚本以及template.cshtml页面中的脚本包可能会产生问题。

答案 1 :(得分:0)

您可以尝试更新 layout.cshtml ,就像这样

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="CACHE-CONTROL" content="no-cache" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>@ViewBag.Title</title>

@Styles.Render("~/Content/css")

</head>

<body>
@RenderBody()
<script src="~/Scripts/jquery.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery-ui-1.8.20.js"></script>
</body>

</html>

这样,在脚本开始工作之前,您的页面将完全呈现。 注意:将@RenderBody()部分放在div

中是一种很好的做法