使用.trigger()进行jQuery UI拖放

时间:2011-03-28 00:31:33

标签: jquery jquery-ui triggers drag-and-drop

我试图在没有鼠标/用户交互的情况下手动“触发”拖放。

到目前为止,我已经能够设置jQuery UI demo进行拖放,但无法使用trigger()方法触发拖放。

任何人都可以帮忙设置它吗?

到目前为止我的代码是:

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

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

提前致谢!


使事情更简单。我想要做的就是从droppable()之外的任何地方调用'drop'方法,但我总是需要能够指定事件和ui对象。

2 个答案:

答案 0 :(得分:2)

为什么不创建由drop触发的自定义事件?所以你可以自己触发它:

$(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" ));  
});

答案 1 :(得分:0)

我认为你想要的是:

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

但是即便如此,我想知道可拖动的元素是否会在丢弃的情况下进入droppable ......