【问题标题】:jQuery UI Sortables - Call Sortable Event ExternallyjQuery UI Sortables - 从外部调用 Sortable 事件
【发布时间】:2011-07-24 04:52:13
【问题描述】:

我有以下可排序的 sn-p(没什么花哨的):

$( "#sortable1, #sortable2" ).sortable({
  connectWith: ".connectedSortable",
  beforeStop: function(event, ui) {
    console.log(event);
    console.log(ui);
  }
}).disableSelection();

如何在 sortable() 之外调用 beforeStop: function(event, ui) {} 并指定要排序的元素和目标可排序列表(即 # sortable1 或 #sortable2)?

我需要能够使用 eventui 对象。

提前致谢!

【问题讨论】:

  • 你的意思是模拟beforeStop事件?
  • @NeXXeuS 是的!我想模拟/触发那个事件。

标签: jquery jquery-ui jquery-ui-sortable


【解决方案1】:
var handleBeforeStop = function(event, ui) {
    console.log(event);
    console.log(ui);
};
$( "#sortable1, #sortable2" ).sortable({
  connectWith: ".connectedSortable",
  beforeStop: handleBeforeStop,
}).disableSelection();

然后在您的代码中,您可以从任意位置执行此操作...

var myEvent = {/*fill this with the event props you need*/};
handleBeforeStop(myEvent, $("#sortable1"));

希望这会有所帮助,从你的问题中很难知道你到底在追求什么

【讨论】:

  • @jaydub:很接近。我应该能够引用我想要排序的项目,这可能是一个
  • 元素,然后将其指向一个可排序的
      ,在本例中为#sortable1,然后它将执行 beforeStop。我正在尝试从代码中的任何位置完成此操作。试着把它想象成模拟/复制用户对元素进行排序。
  • 我不认为你所拥有的“$(this)”是你认为的那样。两个场景中运行的范围 handleDrop 是不同的。检查文档以查看 ui 参数将包含哪些属性,我相信您可以直接访问可放置和可拖动的实例,而不是依赖“this”。然后,当您手动调用它时,只需模仿相同的 ui 参数即可。
  • 抱歉删除了之前的评论。最近的一个是正确的。
  • 我在 cmets 中的回答仍然适用
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签