2011-08-17 86 views
1

這裏上創建一個事件是事情 假設我有以下結構的HTML:jQuery的:插入一個元素,這個元素

<div id="click"> add</div> 
<div id="id"> 
<div class="item">1</div> 
<div class="item">2</div> 
</div> 

,我創建了這個「項目」上點擊某些事件類通過jquery。

$('.class').click(function(){ alert('1');}) 

的問題是,我想通過點擊添加其他「項」,「點擊」的div通過下面的JavaScript

$('#click').click(function(){ 
$('#id').prepend('<div class="item">new</div>'); 
}) 

,當然說我要這個「項目」是點擊同樣,但是沒有處理程序。 當然我可以通過喚醒$('。class')來添加它,點擊(....再一次,但事實並非如此,因爲「item」1和「item」2 div會有2個事件。

任何人都可以提出好的建議?在此先感謝

回答

2

你也許可以解決使用.live()

$('.item').live('click', 
    function(){ 
     alert($(this).text()); 
}); 
1
$('.class').unbind('click'); 
$('.class').click(.....) 

這將解除綁定上.class元素

+0

1 downvote?任何評論爲什麼? – Curt

0

你沒有一個所謂的 「類」 級這樣的問題:

,所以我假定$(」類。)點擊(函數(){。 (''');})實際上是$('。item')。click(function(){alert('1');})

鑑於這一點,我不太瞭解你的問題。你要做到以下幾點

當單擊帶有類項的元素: 1)顯示值

當點擊id爲點擊的元素: 1)添加新的元素與具有類項目您已經定義的事件處理程序。

使用

$( '項目 ')生活(' 點擊',函數(){警報($(本)的.text());});

$( '#點擊')點擊(函數(){$( '#ID')前面加上( '新');})。