2017-05-29 128 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

相關問題