如何获取draggable和droppable内部回调函数的id

时间:2016-10-06 14:30:43

标签: jquery

我想在两个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也是。

2 个答案:

答案 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"));