当我单击一个div时,我通过jQuery将(在某些条件下)另一个div附加到文档中。我想为这个新的div创建一个点击监听器。以下是代码和 fiddle :
<div class="test">click me!</div>
<script type="text/javascript">
$('.test').click(function()
{
$(document.body).append('<div class="close">close</div>');
});
$('.close').click(function()
{
$('.test').hide();
alert('close clicked');
});
</script>
我的目标是向close
div注册一个点击监听器,以处理将来的点击,但是如果尚未创建div,它似乎不起作用。我能怎么做?我想避免在每次close
创建后注册一个点击监听器。提前谢谢。
答案 0 :(得分:2)
使用on()使用事件委派,它将使事件工作在动态添加的html:
$(document).on('click','.close',function()
{
$('.test').hide();
alert('close clicked');
});