Jquery plugins jQuery事件处理程序队列

Jquery plugins jQuery事件处理程序队列,jquery-plugins,jquery,Jquery Plugins,Jquery,问题概述 在jQuery中,绑定处理程序的顺序就是绑定到同一元素时执行处理程序的顺序 例如: $('#div1').bind('click',function(){ // code runs first }); $('#div1').bind('click',function(){ // code runs second }); 但是如果我想让第二个绑定的代码先运行呢 我当前的解决方案 目前,我的解决方案是修改事件队列: $.data(domElement, 'events')['cli

问题概述

在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也没有帮助,因为我不想反转堆栈,只是将插件的事件放在堆栈的开头。