我试图通过单击按钮来隐藏div,但它会隐藏它一秒钟并返回div(看起来像刷新页面)。这是我的HTML代码:
<div id="page">
<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p>
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
这是我的jquery代码:
$(document).ready(function () {
$("#Button1").click(function () {
$("#page").hide();
});
});
答案 0 :(得分:0)
Rick在回答中说了什么,你需要在按钮上添加Type="Button"
。
<Button ID="Button1" type="button">Button</button>
默认按钮类型为submit,这将导致页面刷新。并且,正如Rick所说,ASP按钮也会提交。因此,您需要使用HTML按钮并设置type="button"
属性。
来自MDN
按钮的类型。可能的值有:
提交:按钮将表单数据提交给服务器。 如果属性未指定 d或属性,则为默认值 动态更改为空值或无效值。
重置:该按钮将所有控件重置为初始值。
按钮:该按钮没有默认行为。它可以具有与元素事件相关联的客户端脚本 事件发生时触发。
答案 1 :(得分:0)
使用runat =“server”的ASP按钮会导致服务器回发。如果您不打算从服务器上执行该单击操作,只需使用客户端按钮,如:
<button id="Button1" type="button">Button</button>
答案 2 :(得分:0)
在按钮上将客户端ID模式设置为静态,然后它将起作用。它没有用,因为没有指定,所以名称正在改变。
<asp:Button ID="Button1" ClientIDMode ="Static" runat="server" Text="Button" />
如果你想禁用回发只是隐藏一些东西而不处理任何东西,那么只使用客户端按钮是最好的选择。