ASP.NET AJAX异步回发后,jQuery CSS更改丢失

ASP.NET AJAX异步回发后,jQuery CSS更改丢失,jquery,css,ajax,asp.net-ajax,Jquery,Css,Ajax,Asp.net Ajax,我在C#中有以下内容: jQuery工作得很好(即,如果我单击标题范围,并且hideMe类是当前的,那么它将删除hideMe并添加showMe,反之亦然) 但是,当我单击btnSubmit时,会发生异步回发,并导致报头范围重置为其原始状态(这将与应用的hideMe类一起)。 如何使标题范围保持在单击“提交”按钮时的状态,而不恢复到页面加载时的状态?尝试使用一些事件委派 if ($) { $(document).ready(function () { $('body').delega

我在C#中有以下内容:

jQuery工作得很好(即,如果我单击标题范围,并且hideMe类是当前的,那么它将删除hideMe并添加showMe,反之亦然)

但是,当我单击btnSubmit时,会发生异步回发,并导致报头范围重置为其原始状态(这将与应用的hideMe类一起)。


如何使标题范围保持在单击“提交”按钮时的状态,而不恢复到页面加载时的状态?

尝试使用一些事件委派

if ($) {
  $(document).ready(function () {

    $('body').delegate('#header','click',function ($e) {
      if ($(this).hasClass('hideMe')) {
        $(this).removeClass('hideMe');
        $(this).addClass('showMe');
      }
      else {
        $(this).removeClass('showMe');
        $(this).addClass('hideMe');
      }
    }

  });
}

编辑:如注释中所述,这不会保持状态。为了简单起见,我建议为此使用一个全局变量,但是您需要在异步调用上运行某种回调,以便根据之前的状态根据需要应用类。

尝试使用一些事件委派

if ($) {
  $(document).ready(function () {

    $('body').delegate('#header','click',function ($e) {
      if ($(this).hasClass('hideMe')) {
        $(this).removeClass('hideMe');
        $(this).addClass('showMe');
      }
      else {
        $(this).removeClass('showMe');
        $(this).addClass('hideMe');
      }
    }

  });
}

编辑:如注释中所述,这不会保持状态。为简单起见,我建议为此使用一个全局变量,但是您需要在异步调用上运行某种回调,以便根据以前的状态应用所需的类。

对我有效的方法是:

$(文档).ready(函数(){
//首先在这里绑定jQuery事件
}); 
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(函数(){
//在这里重新绑定jQuery事件
}); 

摘自:

对我有用的东西:

$(文档).ready(函数(){
//首先在这里绑定jQuery事件
}); 
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(函数(){
//在这里重新绑定jQuery事件
}); 

摘自:

这可以帮助你:@Gerson-谢谢你的链接!这给了我一个合理的解决方案。格森-如果你愿意把这个链接作为一个答案,那么我将投票表决并检查它作为答案。现在作为一个答案。我很高兴这有帮助!这可以帮助你:@Gerson-谢谢你的链接!这给了我一个合理的解决方案。格森-如果你愿意把这个链接作为一个答案,那么我将投票表决并检查它作为答案。现在作为一个答案。我很高兴这有帮助!我只想半途而废。事件绑定将被保存(很好!),但返回的#头不一定具有正确的类。可以存储在变量中,在POST之前获取状态并在成功回调中重新应用,POST到服务器并让服务器发送回已呈现的正确类,等等。只能起到一半的作用。事件绑定将被保存(很好!),但返回的#头不一定具有正确的类。可以存储在变量中,在POST之前获取状态并在成功回调中重新应用,POST到服务器并让服务器发送回已呈现的正确类,等等。这是否需要在脚本标记或脚本引用标记内,或者无关紧要?也就是说,具有此属性的脚本是否像或在中被引用重要吗?是否需要位于脚本标记或脚本引用标记内,或者不重要?也就是说,包含此内容的脚本是否以类似或类似的方式被引用是否重要?
if ($) {
  $(document).ready(function () {

    $('body').delegate('#header','click',function ($e) {
      if ($(this).hasClass('hideMe')) {
        $(this).removeClass('hideMe');
        $(this).addClass('showMe');
      }
      else {
        $(this).removeClass('showMe');
        $(this).addClass('hideMe');
      }
    }

  });
}