イメージ マップがあり、1 つの要素をドラッグ アンド ドロップします。つまり、カントリー マップにピン留めします。ピンがマップ上にドロップされたとき。そのイメージ マップ ID が必要です。
<p id="draggable" style="position: absolute; bottom: 10px; left: 40px; cursor: move; z-index:100;"><img src="images/pin1.png"/></p>
<img src="image.gif" width="145" height="126" alt="Elements" usemap="#elementmap" />
<map name="elementmap">
<area id="element1" class="droppable" shape="rect" coords="0,0,82,126" alt="Element 1"/>
<area id="element2" class="droppable" shape="circle" coords="90,58,3" alt="Element 2"/>
</map>
jQuery コードは次のようになります。
$("#draggable").draggable();
$(".droppable").droppable({
accept: '#draggable',
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
drop: function (event, ui) {
var targetElem = $(this).attr("id");
var draggableId = ui.draggable.attr("id");
var droppableId = $(this).attr("id");
alert(targetElem);
alert(draggableId);
alert(droppableId);
}
});
jsFiddle の例を次に示します: http://jsfiddle.net/fguru/ZKQ2x/2/
回避策はありますか。