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

$(function() {
    $('a.ajaxload').click(function(e) {           
      var url = $(this).attr('href');
      $('#desktopcontainer').load(url); // load the html response into a DOM element
      e.preventDefault(); // stop the browser from following the link
    });
});

$(function() {
    $(".accordion .accordion-tabs .tab").each(function(){
        $(this).click(function(){
            if ($(this).hasClass('tab')){
            $(this).removeClass('tab');
            $(this).addClass('active');
          }else{
            $(this).removeClass('active');
                    $(this).addClass('tab');
          }

          $(this).next().slideToggle('slow');
                return false;
        });
    });
});
});

我的标签工作正常,但在我单击“a.ajaxload”向页面添加内容后,我的标签不再响应。

谁能告诉我问题出在哪里?

解决了!!!

我所做的是在加载后添加函数……看看下面的新代码,看看有什么不同。我希望它可以帮助某人。

$(document).ready(function(){

initDashboard();

$(function() {
    $('a.ajaxload').click(function(e) {           
      var url = $(this).attr('href');
      $('#desktopcontainer').load(url); // load the html response into a DOM element
      e.preventDefault(); // stop the browser from following the link
      initDashboard();
    });
});

function initDashboard() {
    $(".accordion .accordion-tabs .tab").each(function(){
        $(this).click(function(){
            if ($(this).hasClass('tab')){
            $(this).removeClass('tab');
            $(this).addClass('active');
          }else{
            $(this).removeClass('active');
                    $(this).addClass('tab');
          }

          $(this).next().slideToggle('slow');
                return false;
        });
    });
}

});
4

1 回答 1

2

您需要,因为它是动态添加的(例如通过方法on()插入):load

$('.accordion .accordion-tabs').on('click', '.tab', function(){
   if ($(this).hasClass('tab')) {
        $(this).removeClass('tab');
        $(this).addClass('active');
   }else{
        $(this).removeClass('active');
        $(this).addClass('tab');
   }

   $(this).next().slideToggle('slow');
        return false;    
   });
});

也不需要三次使用 jQuery 就绪处理程序,只需将所有与 jQuery 相关的代码放入此:

$(document).ready(function(){

});

文件:

于 2012-06-28T11:34:57.120 回答