2016-07-22 49 views
1

工作,我有這樣的代碼在我MasterPage.master母版頁引用JavaScript並不是在Visual Studio

<head runat="server"> 
<meta charset="utf-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
<script type="text/javascript" src="<%# ResolveUrl("~/") %>script.js" ></script> 

<asp:ContentPlaceHolder id="head" runat="server"> 
</asp:ContentPlaceHolder> 
</head> 

<body> 
    <div class="handle">Click me</div> 

</body> 

我有這樣的代碼在我的script.js文件

$('.handle').on('click', function() { 
    alert('hello world'); 
}); 

當我點擊div部分,我沒有警報信息,因爲我應該有。
我有我的Default.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="mainContent" Runat="Server"> 
</asp:Content> 

這是在Visual Studio中我的項目目錄

enter image description here

回答

0

我曾嘗試你的代碼,它似乎是沒什麼問題的代碼。讓我與你分享那個代碼。

MasterPage.master:

  <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

      <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head runat="server"> 
       <title></title> 
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> 
       <asp:ContentPlaceHolder id="head" runat="server"> 
       </asp:ContentPlaceHolder> 
      </head> 
      <body> 
       <form id="form1" runat="server"> 
       <div> 
        <div class="handle">Click me</div> 
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> 

        </asp:ContentPlaceHolder> 
       </div> 
       </form> 
      </body> 
      </html> 
      <script type="text/javascript"> 
       $('.handle').on('click', function() { 
        alert('hello world'); 
       }); 
      </script> 

的Default.aspx:

  <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

      <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
      </asp:Content> 
      <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
      </asp:Content> 
+0

我應該在MasterPage.master中有嗎?或者有沒有其他的方式來使用「script.js」文件? –

1

創建DOM之前你執行你的JavaScript。您的script.js的代碼更改爲

$(document).ready(function() { 
    $('.handle').on('click', function() { 
    alert('hello world'); 
    }); 
}); 

jQuery的live/on只有DOM裝載完成後的作品。另一種方法是在div聲明之後放置JavaScript代碼。

+0

它很好地工作,謝謝你 –