首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery UI可排序:事件顺序

jQuery UI可排序:事件顺序
EN

Stack Overflow用户
提问于 2013-11-29 16:51:45
回答 3查看 4.1K关注 0票数 3

有人知道触发jQuery可排序事件的顺序吗?我问这个是因为我和stopupdate有点问题。对我来说,在stop事件之后发生update事件更有意义,但事实并非如此。

这是记录在案的,还是有人调查过的?我找不到一个合适的列表,我现在还不想看代码。

EN

回答 3

Stack Overflow用户

发布于 2017-04-01 07:16:23

事件的顺序为:

create -创建可排序时触发

start -分类开始时触发

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

上的-当可排序项目移动到可排序列表中时触发

排序-排序时触发

change -排序期间触发,但仅当DOM位置更改时触发

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

update -当停止排序且DOM位置已更改时触发

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

out -当可排序项目从可排序列表中移出时触发

stop -排序停止时触发

还可能发生其他事件:

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

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

请注意,根据触发的事件,ui参数会有所不同。为了弄清楚这是什么并对其进行调试,有必要查看API文档。

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

票数 6
EN

Stack Overflow用户

发布于 2013-11-30 05:05:41

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

票数 1
EN

Stack Overflow用户

发布于 2013-11-29 17:00:15

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

代码语言:javascript
复制
delayedTriggers.push(function(event) {
    this._trigger("update", event, this._uiHash());
}); //Trigger update callback if the DOM position has changed

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

代码语言:javascript
复制
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事件之前触发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20281620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档