在ASP.NET中,Jquery Toggle无法处理字段集图例

本文关键字:处理 字段 Toggle NET ASP Jquery | 更新日期: 2023-09-27 18:20:55

我在Update Panel中有fieldset>图例。我在图例上使用jquery切换,在第一页加载时,它运行良好。

在更新面板里,我有一个按钮,点击它就会发生部分回发;将打开一个新的filedset>图例。

现在jquery切换在两个字段集图例上都不起作用。

代码:

   $('fieldset').delegate('legend.test', 'click', function (ev) { ev.preventDefault();  
   $(this).next("div.showhidefsl").slideToggle("fast"); 
   $(this).parent("fieldset").toggleClass("fieldsetborderToggle");
   $(this).toggleClass("active"); });

在ASP.NET中,Jquery Toggle无法处理字段集图例

如果异步回发后不起作用,请使用:

  function pageLoad(){
    $('fieldset').delegate('legend.test', 'click', function (ev) { 
      ev.preventDefault(); 
      $(this).next("div.showhidefsl").slideToggle("fast"); 
      $(this).parent("fieldset").toggleClass("fieldsetborderToggle"); 
      $(this).toggleClass("active"); });
    }

另一种选择是使用异步事件:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
$('fieldset').delegate('legend.test', 'click', function (ev) { 
          ev.preventDefault(); 
          $(this).next("div.showhidefsl").slideToggle("fast"); 
          $(this).parent("fieldset").toggleClass("fieldsetborderToggle"); 
          $(this).toggleClass("active"); });
    });

相反:

$(document).ready(function(){
//your code
});

使用live()或on()事件注册您的代理。

$('fieldset').live('legend.test', 'click', function (ev) { 
  ev.preventDefault(); 
  $(this).next("div.showhidefsl").slideToggle("fast"); 
  $(this).parent("fieldset").toggleClass("fieldsetborderToggle"); 
  $(this).toggleClass("active"); });
}