从阅读几个简单的问题看来,我的问题可能是一个 DOM 元素不能有多个 JQuery UI Droppable范围。我想知道是否有人可以确认这一点,或者提出解决方法?
例如,我有两个要拖放到列表中的可拖动对象:
<ol>
<li>one
</li>
<li>two
</li>
<li>three
</li>
<li>four
</li>
</ol>
<div id="drag">drag me1
</div>
<div id="drag2">drag me2
</div>
有没有一种方法可以根据将哪个元素拖到列表中来分配两个不同的结果(在这个例子中这很简单,但在现实生活中我有一组更复杂的列表和元素)?
在这个例子中,我有:
$('#drag').draggable({scope: "one"});
$('#drag2').draggable({scope: "two"});
$('ol li').droppable({scope: "one", drop: function(){ alert("one");}})
$('ol li').droppable({scope: "two", drop: function(){ alert("two");}})
但只能drag1
移动到列表中,导致第二个警报被触发。
似乎使用范围只会导致拖放之间的冲突并且不能按我预期的那样工作......如果它不能像这样工作那么scope
参数的目的是什么?
这是我的例子的小提琴;非常感谢任何帮助: Fiddle here