繁体   English   中英

jQuery UI Sortable:事件顺序

[英]jQuery UI Sortable: order of events

有谁知道触发jQuery可排序事件的顺序? 我问这个问题是因为我在stopupdate遇到了问题。 对我而言, update事件将在stop事件之后发生,但事实并非如此。

是否在任何地方记录了此信息,或者有人对此进行了调查? 我无法找到合适的列表,而且我还不想遍历代码。

事件的顺序是:

创造 -触发创建排序时

开始 -触发排序开始时

激活 -在拖动开始时为每个连接的列表触发

超过 -将可排序项目移至可排序列表时触发

排序 - 排序期间触发

改变 -在排序过程中触发,但只有当DOM位置改变

beforeStop-在排序停止之前触发,占位符/帮助器

更新 -停止排序且DOM位置更改时触发

停用 -在排序停止之前触发,传播到所有可能的连接列表

出来 -当一个排序项从排序列表搬走触发

停止 -排序停止时触发

也可能发生其他事件:

接收/删除-在列表之间移动项目时触发

不知道为什么在jQueryUI网站上不清楚这一点。

请注意,根据触发的事件,ui参数有所不同。 值得看一下API文档以弄清楚这是什么并进行调试。

http://api.jqueryui.com/sortable/

停止事件是最后一个被触发的事件。 检查此处以查看Jquery可排序元素的所有事件。

从当前的源代码中, update事件被放入队列:

delayedTriggers.push(function(event) {
    this._trigger("update", event, this._uiHash());
}); //Trigger update callback if the DOM position has changed

然后,已排队的事件在beforestopstop之间触发:

this._trigger("beforeStop", event, this._uiHash());
for (i=0; i < delayedTriggers.length; i++) {
        delayedTriggers[i].call(this, event);
} //Trigger all delayed events
this._trigger("stop", event, this._uiHash());

因此,在当前实现中, update事件将始终在stop事件之前被触发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM