我希望它可以拖动(draggables)几个HTML元素到其他几个HTML元素。 (droppables)jQuery:如何启用droppble再次
我发现jQuery UI可拖/放。
目前,我将ul中的所有li元素定义为可拖动。我也有三个接受所有可拖动li元素的div。
<ul>
<li>foo</li>
<li>bar</li>
<li>baz</li>
</ul>
定义它们为可拖动:
$('li').draggable({ revert: 'invalid' });
我可放开申报单:
<div class="droppable" id="div1"></div>
<div class="droppable" id="div2"></div>
<div class="droppable" id="div3"></div>
制作的div可放开:
$('div.droppable').droppable({ accept: 'li', drop: funcDrop, out: funcOut });
我现在想,只有一个li元素可以放在一个div中 同一时间。我试图做到这一点,通过禁用div元素内的可丢弃性我丢弃可拖动,如下所示:
funcDrop = function(event, ui) {
$(this).droppable('disable');
}
This works。现在我无法将更多的元素放入这个div中。问题是,如何/何时再次启用div?显然,如果连续的可拖动被删除。所以我试图启用funcOut里面的div:
funcOut= function(event, ui) {
strIdValue = event.target.id;
$('#' + strIdValue).droppable('enable');
}
但是这不起作用。 似乎我也无法在funcOut中使用$(this)选择器。
有没有人有提示?
问候
我使用jQuery 2.1和UI 1.10.4
嗨,你肯定'$( '#' + strIdValue)'是选择正确的元素?尝试'console.log($('#'+ strIdValue).size()); ' –
嗨,是的,我确定。我在这里留下了调试代码。在拖动至少被移动一次后,似乎out函数不会被再次调用。该div只是不会再被启用:( – user3180943
你可以扔在一个JSFiddle? –