2010-12-18 74 views
0

我正在嘗試編寫一個jQuery Ajax函數,以減少頁面中的代碼量,因爲該腳本在頁面中被調用了幾次。我似乎無法得到它的工作。這裏是我有的代碼:jQuery Ajax函數

var loadURL = $(this).attr('href'); 
function load(){ 
$.ajax({ 
    url: loadURL, 
    type: 'GET', 
    cache: true, 
    data: { 
     delay: 4 
    }, 
    success: function(data) { 
     $('#load').html(data) 
    } 
    }); 
return false;} 
$('#one').click(function(){ load(); }); 
$('#two').click(function(){ load(); }); 
$('#three').click(function(){ load(); }); 
<a href="one.php" id="one">Two</a> 
<a href="two.php" id="two">Two</a> 
<a href="three.php" id="three">Two</a> 

任何人都可以在這裏指導我嗎?

+0

你在哪裏有這行代碼?變種使用loadURL = $(本).attr( 'href' 屬性); – kobe 2010-12-18 06:21:21

回答

3

我覺得你得到的href的方式是錯誤的

function load(item){ 
var loadURL = $(item).attr('href'); 
$.ajax({ 
    url: loadURL, 
    type: 'GET', 
    cache: true, 
    data: { 
     delay: 4 
    }, 
    success: function(data) { 
     $('#load').html(data) 
    } 
    }); 
return false;} 
$('#one').click(function() 
{ 
load($(this)); 
return false; //you should mention return false here 
}); 
+0

這幾乎適用於我。信息被注入到容器中,但函數不會返回false,並且頁面仍然被加載。感謝所有的幫助。我很欣賞這一點。 – mcbeav 2010-12-18 06:31:09

+0

@mcbeav,返回false應該definetly殺死href的默認行爲,我100%肯定 – kobe 2010-12-18 06:33:58

+0

@ mcbeav,看到更新的答案,你應該有點擊事件返回false ....處理程序 – kobe 2010-12-18 06:35:31