首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可排序的droppable触发的jQuery UI drop事件

可排序的droppable触发的jQuery UI drop事件
EN

Stack Overflow用户
提问于 2012-02-28 17:31:44
回答 3查看 12.2K关注 0票数 2

我有一个元素列表,可以放入(现有的)可排序列表中。当一个可丢弃的元素被放到可排序的元素中时,我想修改这个元素。我通过调用droppable的drop事件来做到这一点。

但似乎当可排序元素在可排序中排序时,也会触发此drop事件。并且我只想在从外部插入时修改被删除的元素。

代码语言:javascript
复制
$('#sortable').sortable().droppable({
// Drop should only fire when a draggable element is dropped into the sortables,
// and NOT when the sortables themselves are sorted (without something being dragged into).
drop: function(ev, ui){
    $(ui.draggable).html('<div>TEMPLATE</div>');
}
});
$('#draggables li').draggable({
    connectToSortable: '#sortable',
    helper: 'clone',
    revert: 'invalid',
    cursor: 'move'
});​

Complete example on Fiddle

当在sortable中排序时,如何在不修改元素的情况下修改插入的元素?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-19 22:51:08

我只是从不同的角度遇到了同样的问题。我的sortable/droppable触发了一个over事件和一个drop事件,而我想要的只是drop事件。使用你的代码,下面是我修复它的方法:

代码语言:javascript
复制
    $('#sortable').sortable()
    $('#draggables li').draggable({
        connectToSortable: '#sortable',
        helper: 'clone',
        revert: 'invalid',
        cursor: 'move'
    });
    ​$('#sortable').sortable('disable'); 
    // disable the *sortable* functionality while retaining the *droppable*
    $('#sortable').droppable({
    // Drop should only fire when a draggable element is dropped into the sortables,
    // and NOT when the sortables themselves are sorted (without something being dragged into).
    drop: function(ev, ui){
        $(ui.draggable).html('<div>TEMPLATE</div>');
    }
    });

唯一的缺点是sortable.update事件中的所有功能现在都必须放在droppable.drop事件中。

票数 1
EN

Stack Overflow用户

发布于 2014-11-13 00:41:39

您可以使用可排序的sortreceive事件。在将新元素插入到可排序对象中时,将激发此事件。

通过ui.helper,您可以访问新插入的元素。

代码语言:javascript
复制
  $('#sortable').sortable().droppable().on('sortreceive', function(event, ui) {
    var inserted_element = $(ui.helper);
    // modify your element
  });
票数 2
EN

Stack Overflow用户

发布于 2013-12-04 04:55:56

也许这能有所帮助:

看到这个小提琴的代码,我改变了它:

http://jsfiddle.net/penjepitkertasku/CxpMn/34/

代码语言:javascript
复制
$('#sortable').sortable();
$('#sortable').droppable({
    drop: function(ev, ui){
        $(ui.draggable).html('<div>' + ui.draggable.text() + '</div>');
    }
});
$('#draggables li').draggable({
    connectToSortable: '#sortable',
    helper: 'clone',
    revert: 'invalid',
    cursor: 'move'
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9479438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档