2014-02-09 46 views
0

我在我的家庭控制器的索引頁面中有以下代碼。我是Jquery的新手。當我點擊按鈕時,沒有任何反應。我希望得到警報。我究竟做錯了什麼?無法在mvc應用程序中運行jquery點擊事件

@{ 
     ViewBag.Title = "Home Page"; 
    } 
    @section featured { 
     <section class="featured"> 
      <div class="content-wrapper"> 
       <hgroup class="title"> 
        <h1>@ViewBag.Title.</h1> 
        <h2>@ViewBag.Message</h2> 
       </hgroup> 
       <p> 
        Zombie's Page 
       </p> 
      </div> 
     </section> 
    } 

    @using (Html.BeginForm()) 
    { 
     <input type="submit" value="Click me" id="clickme" /> 

    } 

    <script type="text/javascript"> 

     $("#clickme").click(function() { 
      alert("Getting ready for practice !!"); 
     }); 

    </script> 

回答

1

你應該把你的腳本在Scripts部分,以確保其後呈現jQuery的聲明:

@section Scripts { 
    <script type="text/javascript"> 
     $("#clickme").click(function() { 
      alert("Getting ready for practice !!"); 
     }); 
    </script> 
} 

之所以你的代碼沒有工作,是因爲它被渲染在body的中間,而jQuery包含在最後。看看_Layout.cshtml文件。

只需打開瀏覽器調試工具欄並查看控制檯。在你的情況下,會出現一個錯誤,指出$未定義。還要查看瀏覽器中生成的標記以查看代碼和我的代碼之間的區別。

+0

Thanks.So你說你的聲明應該在我的代碼中的這行@using(Html.BeginForm())之前嗎? – user2320476

+0

不,這不是我說的。我在回答中說的是把你的腳本放在'Scripts'部分。這部分放在您的視圖中的地方完全沒有區別。是的,爲了便於閱讀,您可以將它放在視圖的頂部。但重要的是它將在運行時顯示的位置。在這種情況下,就在結束''標籤之前。看看你的'_Layout.cshtml'文件。 –

相關問題