所以我使用 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");
});