克隆名为.popup
的div,然后单击旨在关闭.popup
的名为#close
的跨度后,如何激活单击事件?
点击它目前没有任何作用。我知道div是在页面初始化后创建的,我只需要知道如何将其绑定到页面上,以便在点击时识别它。
JavaScript:
$('span#close').click(function () {
$('.popup').fadeOut(1000);
});
HTML:
<div class="popup">
<span id="close">Close</span>
<!-- content -->
</div>
尝试:
$("span#close").on("click", function(){
$('.popup').fadeOut(1000);
});
您可能正在查找jQuery公开的on()
事件-您可以使用live()
,但现在强烈反对使用这种方法。
所以,类似于:
$('span#close').on('click', function(e) { });
克隆时需要复制事件。看这篇好文章。还要记住,ID
属性在文档中必须是唯一的。所以在克隆元素之后,请确保并没有id相等的重复元素。
感谢大家的建议,.on()
处理程序,我不知道为什么,所以我决定使用@faino的建议。
我在html中创建了包含div,并将其属性设置为display:none
,该div还包含用于关闭弹出窗口的span#close
。
当一个项被克隆时,它被附加到包含div的项中,当我单击span#close
时,它删除了克隆的项,并将包含div的属性设置回display:none
这样,span#close
就不会被克隆,也不需要再次暴露事件。
再次感谢您的回答!