[英]jQuery UI Sortable: order of events
有谁知道触发jQuery可排序事件的顺序? 我问这个问题是因为我在stop
和update
遇到了问题。 对我而言, update
事件将在stop
事件之后发生,但事实并非如此。
是否在任何地方记录了此信息,或者有人对此进行了调查? 我无法找到合适的列表,而且我还不想遍历代码。
事件的顺序是:
创造 -触发创建排序时
开始 -触发排序开始时
激活 -在拖动开始时为每个连接的列表触发
超过 -将可排序项目移至可排序列表时触发
排序 - 排序期间触发
改变 -在排序过程中触发,但只有当DOM位置改变
beforeStop-在排序停止之前触发,占位符/帮助器
更新 -停止排序且DOM位置更改时触发
停用 -在排序停止之前触发,传播到所有可能的连接列表
出来 -当一个排序项从排序列表搬走触发
停止 -排序停止时触发
也可能发生其他事件:
接收/删除-在列表之间移动项目时触发
不知道为什么在jQueryUI网站上不清楚这一点。
请注意,根据触发的事件,ui参数有所不同。 值得看一下API文档以弄清楚这是什么并进行调试。
停止事件是最后一个被触发的事件。 检查此处以查看Jquery可排序元素的所有事件。
从当前的源代码中, update
事件被放入队列:
delayedTriggers.push(function(event) {
this._trigger("update", event, this._uiHash());
}); //Trigger update callback if the DOM position has changed
然后,已排队的事件在beforestop
和stop
之间触发:
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.