Jquery 追加在 div 前面



所以我使用 Jquery 拖放将某些内容拖放到仪表板上。我现在想将我放到仪表板上的任何内容拖出仪表板,以便将其销毁/从仪表板中删除。

我尝试向拖放到仪表板上的东西添加一个类,然后尝试向其添加一个可拖动对象,但拖动不起作用,我想是因为当我将元素附加到仪表板时,它出现在仪表板后面(颜色有点褪色)。

这是我的代码-

    $(".draggable").draggable({helper:'clone'});
    $("#favouritesDashboard").droppable({
        accept:".draggable",
        drop: function(event,ui) {
            var toDrop = $(ui.draggable).clone();
            //create smaller version
            $(toDrop).addClass("inDashBoard");
            $(this).append(toDrop);
        }
    });
   $(".inDashBoard").click(function(){
    console.log("clicking elem in dashboard");
   });

我用点击替换了第二个可拖动对象,控制台.log从不打印,这表明我认为正在发生的事情实际上正在发生。

用于后期绑定 http://api.jquery.com/on/。

$(document).on('click', '.inDashBoard', function(){
    console.log("clicking elem in dashboard");
});
这是

由于jQuery中事件绑定/侦听器的性质。

要触发单击事件的元素在加载页面时不存在,它们是动态添加的。因此,为了确保您的方法附加到与选择器匹配的新元素,您应该使用"on"或"live"

$(".inDashBoard").on( "click", function(){
   console.log("clicking elem in dashboard");
});

应该有效:

$(".inDashBoard").live('click', function(){
    console.log("clicking elem in dashboard");
});

最新更新