2014-09-10 122 views
-1

这是我试图做的简单版本,但是当你点击链接时,它会将页面重定向到url +#,这会创建一个额外的导航步骤当试图使用浏览器后退按钮时。AJAX href ='#'导航url

如果我删除了href它不起作用,如果我将其更改为href ='',那么它每次刷新页面。

处理这个问题的正确方法是什么?我仍然试图学习jQuery/AJAX,所以这可能是一个非常基本的问题。

http://jsfiddle.net/bvp8xa5x/

HTML

<div id='updateMe'>Old Value</div> 
<a href='#' id='test'>Test</a> 

jQuery的

$(function(){ 
    $('#test').click(function(){ 
     $.ajax({ 
      type: "GET", 
      url: '', 
      success: function(data) { 
       $('#updateMe').html('New Value'); 
      } 
     });   
     return false; 
    }); 
}); 
+1

你的小提琴的作品,不是吗? – Regent 2014-09-10 19:07:02

+0

是的,因为我认为它是一个iFrame。 http://fiddle.jshell.net/bvp8xa5x/1/show/light/ – Andrew 2014-09-10 19:12:07

+0

如果这实际上并不是链接,则使用样式化的“span”... – tymeJV 2014-09-10 19:12:51

回答

0

另一种方式来阻止链接被跟踪,是调用了preventDefault()上的click事件。

$('#test').click(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     ... 
    }); 
}); 
+0

JavaScript区分大小写。它是'preventDefault()'。 – melancia 2014-09-10 19:17:53

+0

thx注意到 – MSTannu 2014-09-10 19:18:26

+0

'return false'同时作为'preventDefault'和'stopPropagation',所以你建议几乎相同的代码。 – Regent 2014-09-10 19:22:24