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