1

我正在尝试使一组对象可拖动,如下所示 - 很简单。但我想配置一些东西,以便如果这些项目中的任何一个被拖动,其他项目自动停止可拖动。有谁知道如何做到这一点?

var products = document.getElementsByClassName('box');
for (var i = 0; i < products.length; i++) {
  new Draggable(products[i].id, {ghosting:true})
} 

此外,在您使对象可拖动之后,是否有可能通过代码选择性地和单独地触发其“onStart”、“onEnd”或“Revert”序列,而不是使用鼠标?

4

2 回答 2

1

保存 Draggables 以销毁所有可拖动元素后:

draggables.each(function(item){
    item.destroy();
});
于 2011-05-14T15:56:46.043 回答
0

将其保存Draggables在一个集合中,并destroy()在其中一个被拖动(即被onEnd触发)时调用它们:

var draggables = [];
var products = document.getElementsByClassName('box');
for (var i = 0; i < products.length; i++) {
    var draggable = new Draggable(products[i].id, {
        ghosting:true,
        onEnd: function () {
            draggables.invoke('destroy');
        }
    });
    draggables.push(draggable)
}
于 2009-08-13T22:19:50.827 回答