jQuery UI sortables - получить дескриптор упавшего предмета - PullRequest
0 голосов
/ 18 января 2012

У меня это работало в пользовательском интерфейсе 1.8.6 с использованием этого хака , но я не могу заставить его работать в 1.8.17.

  • Я хочу перетащить элементыиз списка в сортируемую.
  • Элементы должны оставаться в исходном списке после удаления (чтобы их можно было добавить n раз)
  • когда я помещаю элемент в сортируемую, я хочуполучить дескриптор упавшего элемента в сортируемом элементе.

В методе получения сортируемого элемента:

receive: function(e, ui){
    // ui.item is the original dragged item, not the clone that gets created when dropped
    // ui.helper is a separate clone of the dragged item, it does not get inserted into the sortable
}

, поэтому вопрос в том, как получитьобрабатывать вставленный элемент?Кажется, что элемент не был вставлен (или создан) во время вызова.Внесены ли изменения в jquery UI или я что-то упустил?

вот мой код:

$('form').sortable({
    placeholder: "placeholder",
    forcePlaceholderSize: true,
    receive: function (ev, ui) {
        // need handle on dropped item here. ui.item and ui.helper are not it
    }
});


$('.draggableTings').draggable({
    helper: "clone"
    , appendTo: "body"
    , revert: "invalid"
    , connectToSortable: "form"
});

Спасибо

1 Ответ

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

замена этого

_uiHash: function(inst) {
    var self = inst || this;
    return {
        helper: self.helper,
        placeholder: self.placeholder || $([]),
        position: self.position,
        originalPosition: self.originalPosition,
        offset: self.positionAbs,
        item: self.currentItem,
        sender: inst ? inst.element : null
    };
}

этим

_uiHash: function(inst) {
    var self = inst || this;
    return {
        helper: self.helper,
        placeholder: self.placeholder || $([]),
        position: self.position,
        originalPosition: self.originalPosition,
        offset: self.positionAbs,
        item: this.fromOutside ? this.currentItem : self.currentItem,
        sender: inst ? inst.element : null
    };
}

, похоже, добилась цели, хотя и неприятной.и, вероятно, не дурак

...