2

jqueryのドラッグアンドドロップ機能を使用しています。ここで、イメージ マップ エリアのみをドロップします。カーソルがイメージ マップの外にドロップされた場合、ドラッグ可能な領域は false を返す必要があります。誰か助けてください。

以下は私のコーディングです

$j(関数 () {

        $j("#draggable").draggable({

            revert: function (dropped) {
                var $jdraggable = $j(this),
             hasBeenDroppedBefore = $jdraggable.data('hasBeenDropped'),
            wasJustDropped = dropped && dropped[0].id == 'treearea';

                alert(wasJustDropped);
                if (wasJustDropped) {
                    //centering with css
                    centerPopup();
                    //load popup
                    loadsharePopup();
                    return false;
                } else {
                    if (hasBeenDroppedBefore) {

                        return true;

                    } else {

                        return true;
                    }
                }
            }
        });


        $j("img#tree").droppable({
            activeClass: 'ui-state-hover',
            hoverClass: 'ui-state-active',
            drop: function (event, ui) {
                //var Stoppos = $j(this).position();
                //alert("STOP: \nLeft: "+ Stoppos.left + "\nTop: " + Stoppos.top);
               var newPosX = ui.offset.left - $j(this).offset().left;
               var newPosY = ui.offset.top - $j(this).offset().top;
              //  alert($j(this).offset().left);
              $j("#txtPosX").val(newPosX);
              $j("#txtPosY").val(newPosY);
                //alert("STOP: \nLeft: "+ newPosX + "\nTop: " + newPosY);
              $j(this).addClass('ui-state-highlight').find('p').html('Dropped!');
              $j(ui.draggable).data('hasBeenDropped', true);
            }
        });

    });
4

0 に答える 0