Javascript 在on.change事件后运行函数

Javascript 在on.change事件后运行函数,javascript,jquery,eventhandler,Javascript,Jquery,Eventhandler,我有这样的东西:$('#select1')。在('change',function(){})上,它工作得很好。但是,我需要在函数完成后运行另一个函数 我考虑将函数内容放入一个命名函数中,然后使用第二个函数并执行相同的操作,然后将它们放入匿名函数中: $('#select1').on('change', function() { function1 (); function2 (); }); 然而,我希望有另一种方法。上述内容似乎与jQuery不一致。为什么不尝试使用jQuery

我有这样的东西:
$('#select1')。在('change',function(){})
上,它工作得很好。但是,我需要在函数完成后运行另一个函数

我考虑将函数内容放入一个命名函数中,然后使用第二个函数并执行相同的操作,然后将它们放入匿名函数中:

$('#select1').on('change', function() {
    function1 ();
    function2 ();
});

然而,我希望有另一种方法。上述内容似乎与jQuery不一致。

为什么不尝试使用jQuery更改函数代替javascript绑定

$(“#选择1”).change(函数(){

功能1(); 职能2()

}))

试试这个:

$('#select1').on('change', function() {
    function1(someVariable, function() {
      function2(someOtherVariable);
    });
});


function function1(param, callback) {
  //...do stuff
  callback();
} 
我在这里发现:

尽管可以使用回调嵌套函数,但jQuery中的最佳实践通常是使用


更多信息可能会在这里有所帮助。如果
function1
是一个状态更改,并且
function2
更新了演示文稿,您可以考虑使用发布/订阅或观察者模式。我希望我不会将它们分开。也许只是链接函数?尽管这是可行的,但jQuery延迟对象通常是链接函数的推荐方式。
var function1 = function() {

    var deferred = $.Deferred();

    //Do your thing. When finished, call deferred.resolve()

    return deferred;
}

var function2 = function() {

   //Function 2 code
}

$('#select1').on('change', function() {

    function1().then(function2);
});