2017-05-29 131 views
0

我试图调用一个按钮上的一个警报函数,但它不会触发。JavaScript不工作在页面

<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的主体部分被呈现。

+1

它总是一个好习惯您是否已验证所提供的html中是否存在'onclick'属性?你会得到视觉反馈,说明按钮被按下,或者可能有某些元素与它重叠?如果你手动运行'$('按钮[title =“Test”]'),点击()',你会触发警报吗? –

+0

是它的存在 –

+0

您是否获得视觉反馈:按钮正在被按下,还是可能有某个元素重叠?如果你手动运行'$('按钮[title =“Test”]'),点击()',你会触发警报吗? –

回答

0

您可以检查您的页面是否多次没有相同的JS引用。由于您在head部分添加了脚本,并且您在template.cshtml页面中有脚本包可以发出问题。

+0

什么问题可能是原因,这可能会阻止点击监听者在标记中定义显示警报? –

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

相关问题