Script.aculo.us Drag 'n' Drop - Восстановить условие onEnd - PullRequest
2 голосов
/ 13 января 2012

Я пытаюсь вернуть перетаскиваемым, если условие возвращает false.Например, я хотел бы сделать следующее:

new Draggable('myelement', {
    onStart: function() {
      // do something
    },
    onEnd: function() {
      var condition = getConditionVal();
      if (!condition) revert to original position
      else {
         // do something else
      }
    }
});

Возможно ли это?Не уверен, что в этом случае будут работать «droppables», так как область «dropable» изменяется динамически.

Ответы [ 2 ]

3 голосов
/ 30 сентября 2012

Scriptaculous drag / drop предназначен для легкого добавления всевозможных модных вещей.Конечно, вы можете отредактировать опцию возврата в любое время.

Чтобы изменить значение опции возврата перетаскиваемого объекта, просто сбросьте опцию возврата:

var myDraggable = new Draggable('myelement', {
    onStart: function() {
      // do something
    },
    onEnd: function() {
      var condition = getConditionVal();
      if (!condition){
          myDraggable.options.revert = true;
      }
      else {
          myDraggable.options.revert = false;
          // do something else
      }
    };
});

Scriptaculous выполняет возврат сразу после вызова события onEnd , что дает нам возможность изменить его до того, как оно будет выполнено.

0 голосов
/ 13 января 2012

Код перетаскивания Scriptaculous не предназначен для условного возврата. Вы можете вернуть или не вернуть. Вот и все, к сожалению.

Эта функция запрашивалась много раз, но популярность scripty / prototype с годами уменьшилась, поэтому сомнительно, что эта функция будет когда-либо добавлена.

...