我正在尝试构建一个拖放系统,可以将图像拖放到特定的 div 中。因为图像在滚动条中,所以我必须对可拖动对象使用克隆。我遇到的问题是,当我将图像拖到 div 上时,似乎没有触发“drop”事件。我在网上搜索过,但没有找到有效的解决方案。
我有以下内容:
$( "#droppable" ).droppable({
activeClass: "ui-state-highlight",
drop: function( event, ui ) {
alert('ok');
}
});
$( ".draggable" ).draggable({
helper: "clone",
scroll: false
});
这样当 .draggable 元素被放到 #droppable div 上时,我应该会看到一个警报。droppable 确实获得了 activeClass,所以它已经走了那么远,但是当我放下图像时,什么都没有发生 - 它只是消失了。
html是:
对于 droppable(它在一个可滚动的 div 中,使用 jQuery ui 可滚动):
<div class="scrollable" id="scrollable">
<div id="scrollable-items" class="items">
<div id="scrollerDiv_1">
<div>
<div id="droppable" class="droppable ui-droppable">
<div class="ImageArea"></div>
<div class="CaptionArea">Drag a photo or video into the box above to create a new frame</div>
</div>
</div>
</div>
</div>
</div>
对于可拖动的图像:
<div id="EditMain">
<div id="libraryMain">
<div id="my-asset-list" class="assetList">
<div class="listItem draggable scroll-content-item ui-draggable">
<span class="assetItem">
<img src="xxx"/>
</span>
</div>
<div class="listItem draggable scroll-content-item ui-draggable">
<span class="assetItem">
<img src="xxx"/>
</span>
</div>
<div class="listItem draggable scroll-content-item ui-draggable">
<span class="assetItem">
<img src="xxx"/>
</span>
</div>
</div>
</div>
</div>