这是事情 假设我有一个具有以下结构的html:
<div id="click"> add</div>
<div id="id">
<div class="item">1</div>
<div class="item">2</div>
</div>
我通过jquery点击这个“item”类创建了一些事件。
$('.class').click(function(){ alert('1');})
问题是,我想通过点击下面的“点击”div来添加另一个“项目”javascript
$('#click').click(function(){
$('#id').prepend('<div class="item">new</div>');
})
当然我希望这个“项目”也是可点击的,但它上面没有处理程序。 当然我可以通过唤起$('。class')来添加它。点击(....再一次,但事实并非如此,因为“item”1和“item”2 div上将有2个事件。
有人能提出什么建议吗? 提前致谢
答案 0 :(得分:2)
您可以使用.live()
解决此问题$('.item').live('click',
function(){
alert($(this).text());
});
答案 1 :(得分:1)
$('.class').unbind('click');
$('.class').click(.....)
这将取消绑定.class
元素
答案 2 :(得分:0)
$('.class').live('click', function(){ alert('1');})
答案 3 :(得分:0)
你没有一个名为“class”的课程:
所以我假设$('。class')。click(function(){alert('1');})实际上是$('。item')。click(function(){alert('1 “);})
鉴于此,我不太明白你的问题。你想做以下
单击带有类项的元素时: 1)显示值
点击带有id点击的元素时: 1)添加一个新元素,其中包含已定义事件处理程序的类项。
使用
$('。item')。live('click',function(){alert($(this).text());});
。$( '#点击')点击(函数(){$( '#标识')前面加上( '新');})