jQuery UI Перетаскивание с помощью .trigger () - PullRequest
13 голосов
/ 28 марта 2011

Я пытаюсь «вызвать» перетаскивание вручную без взаимодействия с мышью / пользователем.

До сих пор мне удавалось настроить пользовательский интерфейс jQuery demo дляперетаскивание, но не в состоянии инициировать перетаскивание с помощью метода trigger ().

Может ли кто-нибудь помочь с настройкой этого параметра?

Пока мой код:

  $(function() {
      $( "#draggable" ).draggable();
      $( "#droppable" ).droppable({
      drop: function( event, ui ) {
        $( this )
        .addClass( "ui-state-highlight" )
        .find( "p" )
        .html( "Dropped!" );
      }
    });

    $('#draggable').trigger("drop", $('#droppable'));
  });

Заранее спасибо!


Чтобы упростить задачу .Все, что я хочу, - это вызывать метод drop из любого места вне droppable (), но мне всегда нужно будет указывать событие и объекты пользовательского интерфейса.

Ответы [ 2 ]

2 голосов
/ 29 мая 2014

Почему бы не создать пользовательское событие, вызванное сбросом?Таким образом, вы можете запустить его самостоятельно:

$(function(){
    $( "#draggable" ).draggable();
    $( "#droppable" ).droppable({
        drop: function( event, ui ) {
            $(this).trigger("customEvent", ui);
        }
    });
    $( "#droppable" ).bind("customEvent", function(event, ui ){         
        $( this )
                .find( "p" )
                    .html( "Dropped!");
    });  
   $( "#droppable" ).trigger("customEvent", $( "#draggable" ));  
});
0 голосов
/ 28 марта 2011

Я думаю, что вы хотите:

$('#droppable').trigger('drop', $('#draggable'));

Но даже тогда мне интересно, попадет ли перетаскиваемый элемент в предмет сброса, как то, что упало ...

...