Jquery始终还原可拖动对象有效

时间:2013-03-19 09:37:14

标签: javascript jquery html drag-and-drop

我有一个拖放示例,当可拖动对象在可放置的div中被删除时,它会将可拖动对象恢复回原始位置。

我的问题是,当我的可拖动对象上的revert有效时,我能够将对象拖到页面上的其他位置,我的可拖动对象只有当我将它们放入droppable div时才会恢复。

我希望我的可拖动对象可以恢复,无论您将它们拖到哪个页面上的哪个位置?

我试过这个有效但不起作用。

{
revert: 'vaild',
stop: function(){
    $(this).draggable('option','revert','invalid');
}

我的问题是,当我将它们放入droppable div时,我的可拖动对象会恢复但不会恢复。

  <script>
        $(function() {
        $( "#draggable" ).draggable({ revert: "valid" });
        $( "#draggable1" ).draggable({ revert: "valid" });
        $( "#droppable" ).droppable({
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        drop: function( event, ui ) {
        var dragElemId = ui.draggable[0].id;
        var imgPath = $('#' + dragElemId).attr("des-image");
        $( this )
            .find( ".drop-image" ).removeAttr("src").attr("src",imgPath);
        }
        });
        });
        </script>

1 个答案:

答案 0 :(得分:5)

revert属性设置为true将导致它们始终还原。

   $( "#draggable" ).draggable({ 
       revert: true
   });
   $( "#draggable1" ).draggable({ 
       revert: true
   });
   $( "#droppable" ).droppable({
        activeClass: "ui-state-hover",
        hoverClass: "ui-state-active",
        drop: function( event, ui ) {
             //ommited for brevity
        }
    });

工作示例: http://jsfiddle.net/yLuvv/