2011-12-21 36 views
0
同一頁

上刷新數的div我有一個頁面,用戶可以刪除一個網絡鏈接,當鏈接用戶點擊刪除網絡鏈接,下面的代碼被執行:jQuery的,優化的,

// DELETE WEBLINK --> 
$(document).ready(function() { 
$('#delete_weblink').live('click', function(e){ 
    $('#leftside div#weblinks_wrapper').load($(this).attr('href') + ' #weblinks_wrapper') 
    $('#items_header_my_weblinks #weblink_count').load($(this).attr('href') + ' #weblink_count')  
    $('#bottom_middle').load($(this).attr('href') + ' #bottom_middle') 
    e.preventDefault(); 
}); 
}); 

因此,通過此代碼,當用戶刪除一個Web鏈接時,我在同一頁面上刷新了3個容器,這會導致瀏覽器在不同的時間請求頁面。所以我的問題是...有沒有更好的方法?所以瀏覽器只請求一次頁面?

謝謝。

回答

1

id s是絕對的,所以不需要冗長。您可以使用GET請求,因爲它們都指向一個URL:

$('#delete_weblink').live('click', function(event) { 
    $.get($(this).attr('href'), function(data) { 
    $data = $(data); 

    $.each(['#weblinks_wrapper', '#weblink_count', '#bottom_middle'], function() { 
     $(this).html($data.find(this).html()); 
    }); 
    }); 

    event.preventDefault(); 
}); 
+0

您正在誤用返回false。 – Cokegod 2011-12-21 19:24:05

+0

我正要點擊「發佈你的答案」時,其他答案發布對話框出現了,你有相同的代碼:P **編輯** @科克,怎麼這樣? – Chad 2011-12-21 19:24:25

+0

@Cokegod:'return false;'和e.preventDefault()是一樣的。 e.stopPropagation();'。 – Blender 2011-12-21 19:26:37