javascript - 无法获取克隆元素以保留原始事件

标签 javascript jquery html

我正在尝试克隆传递给函数的元素以及与其关联的所有事件,因为有 $('.example').on('click', function(e) .. . )} 文档中定义的此类事件已准备就绪。

所以我执行以下操作:

$('.example').on('click', function(e) {
        e.preventDefault();
        surpriseMe($(this));
});

我尝试在此处克隆此元素及其事件(我需要获取父元素,因为 .html() 仅返回内部 html,因此元素本身):

function surpriseMe(element) {

    var newElement = element.parent().clone(true,true).html();

    surprise.insertBefore(element.parent());

    if (numElements == 3) {
        newMonth = $('<li class="item-dragable-placeholder">'+ newElement +'</li>
    }  

}

我相信 .clone() 中的 true, true 应该强制父级也捕获它的子级事件,但是每当我点击新放置的元素时,什么都没有发生

最佳答案

使用事件委托(delegate)...

改变:

$('.example').on('click', function(e) { ...

收件人:

$(document).on('click', '.example', function(e) { ...

注意:不要使用文档,而是找到页面加载时可用的最近的祖先元素(容器)并使用它。

关于javascript - 无法获取克隆元素以保留原始事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31251372/

相关文章:

javascript - 当内容通过 scrollBy 或 scrollTo 滚动时,Slimscroll 滚动条不移动

javascript - 需要帮助在单击时切换此按钮

iframe 的 Javascript 事件完成加载

HTML 到 nopCommerce 主题

适合浏览器窗口的 HTML 表格宽度

javascript - jquery ajax返回HTML元素

javascript - 当出现带有 Jquery 对话框的邮箱时,asp.net 文本框值为空

javascript - 检查输入是否获得焦点(空格键正在使用)

javascript - 尝试将变量设置为 jquery ajax post 中 URL 的一部分

javascript - 在 Jquery 中组合不同的属性选择器