jquery 在on.change事件之后运行函数

vptzau2j  于 2022-11-03  发布在  jQuery
关注(0)|答案(3)|浏览(204)

我有这样的话:$('#select1').on('change', function() {})并且它工作得很好。但是,我需要在函数完成后运行另一个函数。
我考虑过把函数的内容放入一个命名函数中,然后把第二个函数也这样做,把它们放入匿名函数中:

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

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

jjjwad0x

jjjwad0x1#

虽然可以使用回调来嵌套函数,但jQuery中的最佳实践通常是使用jQuery.Deferred

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);
});
7z5jn7bk

7z5jn7bk2#

为什么不尝试jquery更改函数而不是javascript绑定
函数()中的参数
函数1();函数2()
});

icnyk63a

icnyk63a3#

试试看:

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

function function1(param, callback) {
  //...do stuff
  callback();
}

我在这里发现:Call a function after previous function is complete

相关问题