2010-12-18 6 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

(이 주목할 가치가있다) .attr ('href'); – kobe

답변

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

+0

@mcbeav, return false는 definetly href의 기본 동작을 죽여야합니다. 100 % 확신합니다. – kobe

+0

@mcbeav, click 이벤트에서 false를 반환해야하는 업데이트 된 답변을 참조하십시오. – kobe