我想在两个div之间拖放。 为此我使用以下javascript工作正常
var PortletDraggable = function () {
return {
//main function to initiate the module
init: function () {
if (!jQuery().sortable) {
return;
}
$("#sortable_portlets").sortable({
connectWith: ".portlet",
items: ".portlet",
opacity: 0.8,
handle : '.portlet-title',
coneHelperSize: true,
placeholder: 'portlet-sortable-placeholder',
forcePlaceholderSize: true,
tolerance: "pointer",
helper: "clone",
tolerance: "pointer",
forcePlaceholderSize: !0,
helper: "clone",
cancel: ".portlet-sortable-empty, .portlet-fullscreen", // cancel dragging if portlet is in fullscreen mode
revert: 250, // animation in milliseconds
update: function(b, c) {
if (c.item.prev().hasClass("portlet-sortable-empty")) {
c.item.prev().before(c.item);
}
alert('update called');
console.log('c'+c.item.index());
}
});
}
};
}();
jQuery(document).ready(function() {
PortletDraggable.init();
});
每当发生拖拽掉落时,会有一个名称更新的回调函数被触发
是否可以获得draggable和droppable元素的id
https://jsfiddle.net/33keyjxx/14/
例如,如果我将板球移动到第四个位置,那么板球的当前位置及其ID也是。
答案 0 :(得分:2)
将此添加到您的可排序选项中:
start: function(event, ui) {
console.log(ui.helper[0].id);
console.log($(event.target).attr('id'));
}
文档here
拖动时使用start
,放弃时使用stop
答案 1 :(得分:0)
试试这个:
console.log('c'+c.item.attr("id"));
console.log('b'+b.item.attr("id"));