2014-09-10 124 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