2012-01-05 97 views
1

有問題越來越jQuery的在這種情況下工作: Visual Studio 2010中 .NET 4.0框架jQuery的 1.7.1(也試過1.4.1)jQuery的問題

我在VS2010中創建了一個默認的ASP.Net Web應用程序,允許該工具創建主頁面和基本子頁面(Defallt,About等)。然後我創建一個新頁面來測試jQuery - 一個使用默認母版頁的子頁面。我在頁面上放置了一些div,並添加了一個HTML按鈕,並在jQuery點擊按鈕時改變了div的背景顏色。它確實會改變大約十分之一秒的顏色,但隨後會改變。我嘗試了一些不同的東西,比如當按鈕被點擊時使div消失 - 相同的結果 - 消失然後回來。所以我試着彈出一個警告(從jQuery代碼)當按鈕被點擊 - 這工作得很好。看起來好像我試圖操縱CSS是有問題的 - 否則事情就很好。該頁面和網站非常簡單和基本。頁面的HTML和腳本代碼:

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="jQuery.aspx.vb" Inherits="TestWeb.jQuery" %> 

<script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("button").click(function() { 
      $("p").css("background-color", "red"); 
     }); 
    }); 

</script> 

<h2> 
    jQuery Integration Testing 
</h2> 

<p>This is a paragraph.</p> 
<p>This is another paragraph.</p> 
<button>Click me</button> 

出於某種原因,內容標籤沒有顯示出來,當我過去的代碼以上是...腳本標籤包含在<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">之內標記和HTML的其餘部分包含在<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">標記內

回答

2

該按鈕將頁面提交給服務器,所以您的背景正在更改,然後頁面被刷新回到開始。您需要將「返回false」添加到點擊處理程序的末尾以取消導航。

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("button").click(function() { 
      $("p").css("background-color", "red"); 
      return false; 
     }); 
    }); 

</script> 
+0

優秀 - 完美的工作 - 謝謝。 – 2012-01-05 14:13:50