jquery-plugins – jQuery事件处理程序队列

问题概述

在jQuery中,绑定处理程序的顺序是在绑定到同一元素时它们将被执行的顺序.

例如:

$('#div1').bind('click',function(){
// code runs first
}); 

$('#div1').bind('click',function(){
// code runs second
});

但是,如果我希望第二个绑定代码先运行怎么办?

.

我目前的解决方

目前,我的解决方案是修改事件队列:

$.data(domElement,'events')['click'].unshift({
                            type : 'click',guid : null,namespace : "",data : undefined,handler: function() {
                                // code
                            }
                        });

.

我的解决方案有什么问题吗?

我可以安全地使用null作为guid的值吗?

提前致谢.

.

解决方法

一个名为 eventstack的有趣插件.它允许您将事件绑定到事件队列的顶部或底部.我不知道你的问题有多普遍,或者你是想要反转还是随意命令堆栈中的事件,但插件可能会简化你的任务.

如果您希望按照特定的顺序组装队列,可以尝试this answer中建议的方法 – 构建可以依次触发对方的自定义事件.

您的方法可能最符合您的要求,但也许这些也是选项.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...