Jquery удалить элемент двойным кликом - PullRequest
0 голосов
/ 27 июля 2011

Jquery drag and drop question
Я хочу удалить некоторые элементы, которые находятся внутри контейнера div.Мой сценарий выглядит так: я перетаскиваю элемент в #deleteArea, и элемент отсутствует.Сценарий:

  $("#deleteArea").droppable
     ({
         drop: function(event, ui) { 
            alert('in');
         deleteImage(ui.draggable,ui.helper); 
         }, 
         over: function() {
                   $(this).css('backgroundColor', '#cedae3');
            },
             out: function() {
                    $(this).css('backgroundColor', '#ffffff');
            },
        });

и

function deleteImage($draggable,$helper)
         {
         params = 'id=' + $draggable.attr('id');

         $.ajax({
         url: 'delete.php',
         type: 'POST',
         data: params,
          success: function(msg){  
                                   }
         });
         $helper.effect('transfer', { to: '#deleteArea', className: 'ui-effects-transfer' },500);
         $draggable.hide();
         }

Теперь я хочу удалить элементы просто двойным щелчком мыши.Я пытаюсь начать со сценария выше этого небольшого кода:

  $('.produse').dblclick(function(event, ui) { 
            alert('in');
         deleteImage(ui.draggable,ui.helper); 
         });

, но я получаю "пользовательский интерфейс не определен", и я не знаю, что делать.пожалуйста помогите

1 Ответ

1 голос
/ 27 июля 2011

Вы неправильно передаете параметры обработчику щелчков.

В этом фрагменте кода:

$('.produse').dblclick(function(event, ui) { 
        alert('in');
     deleteImage(ui.draggable,ui.helper); 
     });

вы не объявили параметры анонимной функции надлежащим образом.Если вы посмотрите на jQuery doc для .dblclick(), есть два способа назвать его:

.dblclick(handler(event))

или

.dblclick([eventData,] handler(event))

Вы не используете ни один изте.

Если вы хотите передать некоторые данные обработчику dlbclick, он будет работать так:

$('.produse').dblclick({uiData: ui}, function(event) { 
        alert('in');
     deleteImage(event.data.uiData.draggable, event.data.uiData.helper); 
     });

Вы можете увидеть это в действии здесь: http://jsfiddle.net/jfriend00/NUU8s/

...