2013-05-14 1 views
0

Я сделал быстрый список, который вы можете перетащить в мусорную корзину (которая удаляет ее).Отменить действие, если «отменить» нажата в ответ на подтверждение()

Все работает, когда вы нажимаете «ok», и элемент удаляется, как сказано. Хотя если вы нажмете «отменить» на всплывающее окно подтверждения, элемент появится в корзине, и вместо этого я хочу, чтобы он вернулся туда, где он был в списке.

JSFiddle: http://jsfiddle.net/Gdze8/2/

Javascript:

$(init) 

    function init() { 
    $(".contentItem").draggable({ 
     revert: 'invalid' 
    }); 
    $(".list4").droppable({ 
     accept: ".contentItem", 

     drop: function(event, ui) { 
      ui.draggable.hide(); 
      if (confirm("Are you sure you want to delete?")){ 
      ui.draggable.remove(); 

      bottomInfo(); 
     } else { 
      ui.draggable.show(); 
     } 
     return false; 
     } 
    }); 
    } 
+0

Помогает ли это: http://stackoverflow.com/questions/6583153/cancellin g-jquery-draggable-objects-or-reset? – Ian

ответ

4

Вы добавите подтверждать на перетаскиваемым вместо этого, возвращаясь, если подтверждение не было подтверждено: ЭТС

$(".contentItem").draggable({ 
    revert : function(event, ui) { 
     var state = confirm("Are you sure you want to delete?"); 
     if (state) $(this).remove(); 
     return !state; 
    } 
}); 

FIDDLE

+0

Если я так делаю, код .remove() вынимается, и элемент никогда не удаляется. –

+1

@BradleyMitchell - то просто добавьте удаление? Отредактировал ответ! – adeneo

+0

Теперь я перетаскиваю его в любом случае, и он получает всплывающее сообщение. Первоначальная программа имела его только для того, чтобы его перетащили в корзину. –

 Смежные вопросы

  • Нет связанных вопросов^_^