2015-05-13 27 views
0

我正在研究現有項目並大量使用jQueryAJAX調用。現有網頁有三個不同的部分標題,左側菜單和主要內容。使用Spring MVC實現,只要從Spring控制器返回視圖,就會更新整個頁面。使用JavaScript onCLick()進行AJAX調用時有限

現在,因爲我正在使用其中一個菜單項,但具有標籤內容,我正在使用jQuery來使用jQuery來操作標籤中的數據。雖然這樣做,每當我必須使用超鏈接時,我不能使用<a>標記,因爲從鏈接返回將替換整個頁面。所以我總是限制使用onClick()甚至連接鏈接,然後做AJAX調用,然後使用jQuery將響應放回窗口。

<a href="" onClick="return loadDetail()">Details</a> 
<script> 
    $.ajax({ 
    type: ..., 
    url: ..., 
    success: function(response) { 
     $('#tab1-content').empty().html(response); 
    } 
    }); 
</script> 

所以我的問題是 - 是否有任何其他方式,這樣我可以使用<a>標籤和更新窗口的href性與響應看法?

回答

1

我不知道我是否正確理解了你。你可以嘗試這樣的事:

<a href="http://www.stackoverflow.com">Details</a> 
<script> 
    $('a').click(function(e) { 
     e.preventDefault(); 

     var href = $(this).attr('href'); 
     loadDetail(href); 
    }); 

    function loadDetail(url) { 
     alert("Load from: " + url); 

     // Ajax call 
    } 
</script> 

Fiddle

1

可以防止標籤的默認行爲,只是從你的函數返回false。 看到這個小提琴http://jsfiddle.net/s8mpwokt/

或者就像邁克爾答案通過JavaScript附加事件,這樣你會在你的回調函數獲取事件實例與preventDefault()stopPropagation()