JQuery - 不要在回发时执行

时间:2012-12-26 05:16:18

标签: jquery postback

我有一些代码可以在某些情况下淡化给用户的消息。这一个ASPX页面进行回发,并根据用户填写的字段成功或失败清除页面。

我知道我可能会开始一场大战,关于如何检查DOM而不是浏览器是否存在mozilla。那没关系,我明白了。但是我只想在初始加载时创建页面时运行fadeIn()一次。

if ($.browser.mozilla != true) {
     $("#dim").fadeIn();
}

我喜欢在jQuery的第三天,所以我做了一些搜索,但没有找到我想要做的事情。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用隐藏字段来保留回发状态,并在运行javascript代码之前使用该隐藏字段。

在html中

<input type="hidden" runat="server" id="hdnIsPostBack" value="false" />

背后的代码中
if(Page.IsPostBack)
    hdnIsPostBack.Value = "true";
else
    hdnIsPostBack.Value = "false";

在javascript中

if( $('#<%= hdnIsPostBack.ClientID %>').val() == "false")
{
    //Your code here
    if ($.browser.mozilla != true) {
       $("#dim").fadeIn();
    }
}

答案 1 :(得分:0)

看起来很简单

如果您希望在初始页面加载时fadein,则可以尝试使用以下代码。

$(document).ready(function(){
    $("#dim").fadeIn();
});


还有一件事,如果您的网页正在进行回发,那么您可能希望获得相同的内容,您可以在<Page>.cs

中尝试此操作
ScriptManager.RegisterClientScriptBlock(this,GetType(),"<anything as key>","$('#dim').fadeIn();",true);

如果答案不相关,请告诉我。