如何在javascript中设置函数的优先级

how to set up priority for functions in javascript

本文关键字:函数 优先级 设置 javascript      更新时间:2023-09-26

我的团队正在开发一个web应用程序,对于一个特定的元素,我们有一个click事件,它在两个js文件中定义。

$("#manage_teams_register_btn").live("click",function(){
// codes here
})

现在,我在一个js文件中附加html元素,在另一个文件中,我从db获取数据并附加它。有没有可能在这些实时点击函数中设置一些优先级,以便其中一个函数在另一个函数之前被调用!?

我不能使用像将一次实时点击的所有内容放入一个函数中,并从其他js或任何其他解决方案中定义的实时点击中调用它这样的解决方案,我需要在这些实时点击函数中设置优先级。我们有办法做到这一点吗??

此模型可能有助于

$("#manage_teams_register_btn").live("click",function(){
        function1();
        function2();
});
function function1(){
}
function function2(){
}

只维护一个click event,否则会严重破坏代码的可读性。

jQuery观察器部分使用队列来显示附加的事件。所以如果你写
$("#manage_teams_register_btn")
    .on("click.firstEventNamespace", function () {
        console.log("Hello");
    })
    .on("click.secondEventNamespace", function () {
        console.log("World!");
    });

您将在控制台中获得"HelloWorld!",就像没有问题一样=)

但是,如果您从不同的文件附加事件,您应该考虑使用一些模式,比如控件的抽象工厂。

jQuery中的事件处理程序总是按照绑定的确切顺序执行。参考

您只需要确保绑定事件的不同代码将它们绑定在同一个元素上,并且它们按照您希望处理程序执行的顺序执行(包括)。