在这种情况下让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}中标签
答案 0 :(得分:2)
按钮正在将页面提交给服务器,因此您的背景正在更改,然后页面将刷新回到开头。您需要在点击处理程序的末尾添加“return false”以取消导航。
<script type="text/javascript">
$(document).ready(function () {
$("button").click(function () {
$("p").css("background-color", "red");
return false;
});
});
</script>