【问题标题】:jQuery UI Drag and Drop with .trigger()使用 .trigger() 进行 jQuery UI 拖放
【发布时间】:2011-03-28 00:31:33
【问题描述】:

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

到目前为止,我已经能够设置 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 对象。

【问题讨论】:

  • 这不是答案,我只是不明白你的问题。如果不与用户进行一些交互,那么什么事件会使拖放发生?
  • 没有特定的“事件”。我只需要模拟拖放过程和拖放后发生的任何功能 - 就好像用户实际上是在拖放一样。把它想象成打开一个保存的文件......
  • 它确实说要创建一个 var drop_function = $("#droppable").droppable('option', 'drop'); drop_function();但是在这个函数中我应该在哪里引用#draggable?
  • 您找到解决方案了吗?我发现自己现在也在问同样的问题!

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


【解决方案1】:

为什么不创建一个由 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" ));  
});

【讨论】:

    【解决方案2】:

    我想你想要的是:

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

    但即便如此,我想知道可拖动元素是否会像被丢弃的东西一样进入可放置元素......

    【讨论】:

    • 我似乎无法触发 droppable 的下降。没有控制台错误,但也没有触发 drop 事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    相关资源
    最近更新 更多