克隆div后无法关闭弹出窗口。绑定()? JQUERY

时间:2012-04-03 11:26:19

标签: jquery function popup clone

如何在克隆名为.popup的div,然后点击旨在关闭#close的名为.popup的范围后激活点击事件?

点击它目前无效。我知道在页面初始化之后创建了div,我只需要知道如何将它绑定到页面,以便在单击它时识别它。

JavaScript的:

$('span#close').click(function () {
            $('.popup').fadeOut(1000);
        });

HTML:

<div class="popup">
    <span id="close">Close</span>
    <!-- content -->
</div>

4 个答案:

答案 0 :(得分:1)

你可能正在寻找jQuery公开的on()事件 - 你可以使用live()但是现在这种情况已被弃用且非常气馁。

所以,比如:

$('span#close').on('click', function(e) { });

答案 1 :(得分:1)

尝试:


$("span#close").on("click", function(){
   $('.popup').fadeOut(1000);
});

答案 2 :(得分:0)

您需要在克隆时复制事件。请参阅this好文章。另请注意,ID属性在文档中必须是唯一的。因此,在克隆元素之后,请确保您没有具有相同ID的重复元素。

答案 3 :(得分:0)

谢谢大家的建议,.on()处理程序,我无法正常工作,不明白为什么,所以我决定使用@faino的建议。

我在html中创建了包含div并将其属性设置为display:none,此div还包含用于关闭弹出窗口的span#close

当克隆一个项目时,它被附加到包含div的项目上,当我点击span#close时,它删除了克隆的项目并将包含的divs属性设置回display:none

这样,span#close不会被克隆,也不需要再次暴露事件。

再次感谢您的所有答案!