我使用Jquery
創建一個元素,並給它的類.book
:點擊jQuery的創建的元素上不工作
jQuery('<div/>', {
name: "my name",
class: 'book',
text: 'Bookmark',
}).appendTo('body');
然後我想點擊該上課的時候做一些事情,所以很自然我寫了一個快速和易:
$('.book').click(function(){
alert('I have been clicked');
});
這一工程
什麼行不通,就是如果我把它添加點擊這些元素。所以下面不工作:
var bms = 0;
$('button').click(function(){
bms += 1;
jQuery('<div/>', {
name: bms,
class: 'book',
text: 'Bookmark ' + bms
}).appendTo('body');
});
$('.book').click(function(){
alert('I have been clicked');
});
爲什麼會發生這種情況,我怎麼能解決這個問題?
Jsfiddle
另一件事:
另外,如果我已經在我的身體類.book
一個div,單擊事件將工作的那一個,但沒有任何附加的div
s。 here is another jsfiddle to show that
使用動態添加的元素查找事件處理。 –
當時'$('。book')。click(...'發生事件處理器分配,沒有'class =「book」'的DOM元素。請參閱@KyleK回答將事件分配給當前以及將來的物品 – Igor