2012-09-09 81 views
0

我有此代碼jQuery的負載到多個div

$("body").on({ 
    click: function(event){ 
     event.preventDefault(); 
     var aLink = $(this).attr("href"); 
     $("#content").load(aLink+" #loader", function(){ 
      //Callback here 
     }); 
     $("#crumbbar").load(aLink+' .breadcrumbs', function(){ 
      //Callback here 
     }); 
    } 
}, "a"); 

可這在這樣一種方式,我只有1個負荷命令被優化?

+0

我不這麼認爲,你是填充加載不同的參數。但我會很高興,如果別人提出了一個解決方案:-) –

+0

我真的不明白這個部分:'$(「body」)。on({click:function(event){'than than you have: 'aLink = $(this).attr('href');'你的'BODY'元素有一個href屬性??你的意思是:*優化的方式,我只有一個加載命令?* –

+0

@roko - 最後的'a'表示它是一個委託事件,它看起來有點不同,因爲事件在地圖中。 – adeneo

回答

1

只做Ajax調用一次,你將不得不使用其他的jQuery的AJAX功能,如$.get,這load()是一條捷徑:

$(document).on('click', 'a', function(e) { 
    e.preventDefault(); 
    var aLink = $(this).attr("href"); 
    $.get(aLink, function(data) { 
     $("#content").html($(data).find('#loader')); 
     $("#crumbbar").html($(data).find('.breadcrumbs').first()) 
    }); 
}); 
+0

你忘了他只需要在body內部定位'a'元素,我會使用'$(document).on(「click」,「a」,function(e){...});'而不是:) – mekwall

+0

是的,有意義補充說,沒有地圖,只是忘了,謝謝! – adeneo

+0

此外,我會緩存綁定以外的#content和#crumbbar的選擇器。 – mekwall