2012-05-30 67 views
1

我試圖在單擊某些文本時使用.on事件。這裏是我的小提琴:.on函數未被觸發

http://jsfiddle.net/adrianjsfiddlenetuser/zyUkd/73/

但沒有什麼是被解僱,當我點擊「鏈接」,我不知道爲什麼?從閱讀http://api.jquery.com/on/我不認爲我應該傳遞的數據是連接?

這需要適用於動態添加的元素。 下面是從小提琴代碼:

<div id="myID"> 
    <a class="connected" >link</a> 
</div> 

​$(function() { 

$(".connected").on('click', '.connected', function() { 
    alert('fired)' 
     $(".connected").append("<a>hello</a>"); 
}); 



}); 

​.connected { 
    float: left; 
    margin: 6px; 
} 
+0

我討厭jQuery的!!!!使用MooTools ... www.mootools.net – Jay

回答

2

您可以使用此:

$(".connected").on('click', function() { 
    alert('fired') 
    $(".connected").append("<a>hello</a>"); 
});​ 

或者這樣:

$("#myID").on('click', '.connected', function() { 
    alert('fired') 
    $(".connected").append("<a>hello</a>"); 
});​ 

注意,第二個變體適用於動態地添加元素。

DEMO:http://jsfiddle.net/zyUkd/74/

+0

第二個變體是我正在尋找的。我沒有div id,只有.css類。這是否意味着我需要添加一個ID爲元素?我更新了我的問題 –

+0

非常感謝!如果沒有太多的麻煩,你可以詳細說明爲什麼這有效嗎? –

2

擺脫seccond .connected的。你的警報也寫錯了。

$(function(){ 
     $(".connected").on('click', function() { 
      alert('fired'); 
      $(".connected").append("<a>hello</a>"); 
     }); 
    }); 
0

把它放在一個現成的功能,以及固定在警報語法錯誤。

http://jsfiddle.net/zyUkd/75/

$(document).ready(function() { 

     $(".connected").on('click', function() { 
      alert('fired'); 
       $(".connected").append("<a>hello</a>"); 
     });  

}); 

+0

將代碼包含在答案中,不要只鏈接到小提琴。 –

+0

是的,先生,謝謝先生。 –