ASP.Net Master-Child页面场景中的jQuery问题

时间:2012-01-05 13:51:34

标签: jquery visual-studio-2010 asp.net-4.0

在这种情况下让jQuery工作的问题: Visual Studio 2010 .Net 4.0框架 jQuery 1.7.1(也试过1.4.1)

我在VS2010中创建了一个默认的ASP.Net Web应用程序,允许该工具创建母版页和基本子页面(Defallt,About等)。然后我创建一个新页面来测试jQuery - 一个使用默认主页面的子页面。我在页面上放了一些div和一个HTML按钮并连接jQuery以在单击按钮时更改div的背景颜色。它确实改变了大约1/10秒的颜色,但后来又改变了。我尝试了一些不同的东西,比如点击按钮时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包含在{{1}中标签

1 个答案:

答案 0 :(得分:2)

按钮正在将页面提交给服务器,因此您的背景正在更改,然后页面将刷新回到开头。您需要在点击处理程序的末尾添加“return false”以取消导航。

<script type="text/javascript">

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

</script>