2016-07-30 38 views
0

嗨即時通訊有創建動態ahref事件的問題。問題是我不希望它執行只是鏈接的默認事件。所以我已經封鎖了默認,並希望更換像這樣一個div裏面的內容,這裏是工作代碼:動態<a href>事件無需替換

echo '<a href="/mydirectory/index.php?id=',$id,'">'; 
echo '<script> 
$("a").click(function(event) { 
    event.preventDefault(); 
$(".container2").load("/mydirectory/index.php?id=',$id,'");'; 
echo '}); </script>'; 

這工作完全爲我expeted,問題是,通過使用這樣的:

$("a").click(function(event) { 

它將頁面上'a'的所有元素設置爲鏈接到最後點擊的鏈接。然而,使用的href一個唯一的ID似乎只是直接重定向到HTML而不是替換內容,當我對鉻檢查有沒有錯誤:

<a href="/mydirectory/index.php?id=',$id,'" id="mylink"> 
$("#mylink").click(function(event) { 

所以我的問題很簡單,我怎麼留住這些功能似乎只是因爲某種原因才起作用,並停止使用相同的功能替換網站中其他所有a-hrefs?

+1

定義一個唯一的class和id的錨標記? –

+1

答案也很簡單,試着用'css'改變那個特定'anchor tag'的'color',如果你獲得成功,以同樣的方式在js中定位錨標籤 –

+0

你有多少鏈接以及如何生成HTML或動態? –

回答

1

我不知道有多少鏈接,以及如何生成反正你可以使用「點擊」功能,並獲得ATTR HREF比你喜歡使用它。較比的preventDefault使用event.stopImmediatePropagation()看的代碼,如果你有任何問題,讓我知道

<a href="/mydirectory/index.php?id=',$id,'" id="mylink">click me</a> 

$('a#mylink').click(function(event) { 
    event.preventDefault(); 
    var link_url = $(this).attr('href'); 

    alert(link_url); 

    event.stopImmediatePropagation(); 
}); 
+0

這個解決方案工作!感謝daebak – D3181

+0

;)不客氣! –

1

請注意,如果您使用唯一的ID,則必須使用'#'調用,而不是'。'。用於A類,所以你的代碼應該以這種方式

<a href="/mydirectory/index.php?id=',$id,'" id="mylink"> 
$("#mylink").click(function(event) { 
+0

啊謝謝這是真實的,但問題仍然是由於某種原因,即使這是固定的,但我會更新代碼。 – D3181

+1

好的檢查你的問題,瞭解你的觀點 –