jquery append()元素点击事件

jquery append() element click event

本文关键字:事件 元素 append jquery      更新时间:2023-09-26

我有两个ul标签这是jsbin链接

我的脚本是

$("#to-do li").click(function(){
    alert("I'm to-do li");
    $(this).appendTo("#done");
});
$("#done li").on('click', function(){
    // this event is not fired
    alert("I'm done li");
    $(this).appendTo("#to-do");
});

和需求是点击"待办事项李",它应该附加到"完成李",反之亦然。

第一个函数运行正常。但第二个根本没有开火。点击"#done li",再次调用第一个函数。请帮忙…

1) why("#doo-li")事件在点击$("#done-li")时启动。2) 如何实现

由于处理的是动态元素结构,因此需要使用事件委托

$('#to-do').on('click', "li", function () {
    console.log("I'm to-do li");
    $(this).appendTo("#done");
});
$('#done').on('click', "li", function () {
    // this event is not fired
    console.log("I'm done li");
    $(this).appendTo("#to-do");
});

演示:Fiddle