如何跟踪jQuery拖放功能

时间:2015-08-22 17:03:15

标签: javascript jquery html twitter-bootstrap jquery-ui

我正在使用带有jQuery UI的bootstrap为我的列表创建拖放功能。

我的HTML是:

<ul class="draggablePanelList list-unstyled">
    <li class="panel panel-info">
        <div class="panel-heading">You can drag this panel.</div>
        <div class="panel-body">Content ...</div>
    </li>
    <li class="panel panel-info">
        <div class="panel-heading">You can drag this panel too.</div>
        <div class="panel-body">Content ...</div>
    </li>
</ul>

我的脚本使拖放功能起作用:

jQuery(function($) {
    var panelList = $('.draggablePanelList');

    panelList.sortable({
        // Only make the .panel-heading child elements support dragging.
        // Omit this to make then entire <li>...</li> draggable.
        update: function() {
            $('.panel', panelList).each(function(index, elem) {
                 var $listItem = $(elem),
                     newIndex = $listItem.index();

                 // Persist the new indices.
            });
        }
    });
});

我想添加javascript,它指示哪个项目被拖放以及它现在在列表中的位置(使用要跟踪的元素属性)。我怎么能这样做。

由于

1 个答案:

答案 0 :(得分:1)

UI中有可拖动和可调整大小的功能。完成大小调整后,我会使用以下内容来处理事件:

.resizable('stop' : function(){ doSomething.call(this); }.bind(this))

您可以在拖放UI功能中包含相同的绑定。您可能必须添加一个侦听器才能获取列表项的目标。

编辑:此处是draggable功能:

.draggable({ 'stack'       : '.classContainer', 
             'handle'      : '.classThatHandlesDrag', 
             'containment' : '#divThatLimitsTheDrag' })