如何在script.aculo.us中禁用Draggables

时间:2009-08-13 18:21:37

标签: javascript prototypejs scriptaculous

我正在尝试使一组物体可以拖动,如下所示 - 很容易。 但我想配置一些东西,以便在拖动这些项目中的任何一个时, 其他人自动停止拖延。有谁知道怎么做?

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

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

2 个答案:

答案 0 :(得分:1)

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

draggables.each(function(item){
    item.destroy();
});

答案 1 :(得分: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)
}