2010-04-16 110 views
1
<script type="text/javascript"> 
$(document).ready(function() { 
    $("a").click(function() { 
     $("#results").load("jquery-routing.php", { pageNo: $(this).text(), sortBy: $("#sortBy").val()}); 
     return false; 
    }); 
});  
</script> 

    <div id="results"> </div>  
<a href="jquery-routing.php?p=1">1</a> 
<a href="jquery-routing.php?p=2">2</a> 

該代碼工作正常,只有問題,我運行後,我所有的一個href鏈接停止工作!鏈接變成jquery ajax調用..爲什麼?jQuery的問題,jQuery接管頁面上的所有鏈接

+0

如果你的目的是要執行這個load()方法,只要點擊任何鏈接,那麼里昂是正確的;否則,其他人都是正確的:)(可能) – harpo 2010-04-16 03:56:19

回答

0

要定位特定鏈接,請在錨標籤上使用id或class標籤。 例如

<a class="link1" href=""></a> 
<a id="link2" href-""></a> 

請注意,id標籤在頁面內是唯一的,只能使用一次。 參考那些jQuery中使用鏈接:

$('a.link1').click(function() {} 
$('#link2').click(function() {} 

,也可混合兩種:

$('a.link1, #link2').click(function() {} 

你需要做的是分配一個ID或類標籤,將調用Ajax請求的鏈接。例如。 <a class="ajax" href="">ajax</a>並引用它$('a.ajax').click(function() {}

+0

這需要覆蓋默認鏈接下面的行爲與所需的ajax調用,而不是。 – Tom 2010-04-16 03:53:59

+0

更正。謝謝湯姆。誤讀維克的問題。 :) – Lyon 2010-04-16 03:58:58

1

$("a")選擇所有<a ...>標籤相匹配,則需要將其更改爲更具體的東西:

$("a#someid") 
$("a.someclass") 
$("div#somecontainer a") 
0

您的設置頁面上的所有錨標籤的onclick事件。嘗試只選擇你想要的鏈接而不是更一般的$(「a」)

0

您的選擇器$(「a」)表示您的頁面中的所有hiperlink。

你可能需要給hiperlink一個特定的id,你希望你的ajax調用工作,然後根據它改變選擇器。

例如:

<a id= "my-link" href="" >ddd</a> 

$("a#my-link").click() 
+0

沒有工作得很好? – vick 2010-04-16 04:01:23

+0

好的,那很好用! 1 我該如何在默認情況下加載第一頁? – vick 2010-04-16 04:14:08

+1

我覺得類比Id更好,因爲他有多個超鏈接 – 2010-04-17 17:05:00