Я пытаюсь соединить следующее с jQuery и Sortable: мне нужно взять два случая:
- A: переместить элемент в одном списке
- B: перемещение элемента из одного списка в другой
Дело B разрешается только при использовании события receive
.Но если я свяжу оба receive
и stop
, они также будут уволены при перемещении элемента из одного списка в другой.Это делает невозможным захват дела A , поскольку у меня нет возможности узнать, был ли предмет перемещен из другого списка или в тот же список.Надеюсь, что это имеет смысл.
Это немного странно, потому что я думаю, что мой вариант использования является наиболее используемым.
Я жажду идей.Если вы хотите попробовать его, см. http://jsfiddle.net/39ZvN/5/.
HTML:
<div id="list-A">
<ul class="sortable">
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
</div>
<br />
<div id="list-B">
<ul class="sortable">
<li>item 4</li>
<li>item 5</li>
<li>item 6</li>
</ul>
</div>
JS:
$(function() {
$('.sortable').sortable({
stop: function(event, ui) {
// Wird auch aufgerufen wenn von Liste X nach Liste Y gezogen wird
if(!ui.sender) alert("sender null");
else alert("sender not null");
},
receive: function(event, ui) {
// Funktioniert top, damit kann ich Fall B abfangen
alert("Moved from another list");
},
connectWith: ".sortable"
}).disableSelection();
});