0

我需要实现我在这里要求的原因有点令人费解,因为我正在使用一个已经有一些 jQuery 内容的 CMS。但基本上,当用户单击链接或从下拉列表中选择时,我需要调用 2 个函数(它们都做同样的事情),让我们称它们foo()bar().

当用户点击时,我可以让它工作:

$('.links').on("click", "a", function() {
    $(".dropdown select").change();
    bar();
    return false;
});

$(".dropdown select").change(function() {
    $("select option:selected").each(function () {
        foo();
    });
});

问题是 bar() 需要在change()事件之后调用。我不能bar()在 change() 事件中调用。当用户点击时,没有问题。但是我不知道如何bar()直接调用,change()但是当一切change()都完成时。

有没有办法添加某种回调change()?我尝试了几种不同的语法,但无法弄清楚。

4

1 回答 1

1
$('.links').on('click', 'a', function(){
   myFunc(); 
   return false;
});
$('.dropdown select').on('change', myFunc);

function myFunc(){
  $('select option:selected').each(function(){
    foo();
  });
  bar();
}

为什么不添加第三个函数来处理这种行为?(并且在技术上保持相同数量的函数调用,因为我们可以删除由 a 处理的匿名函数select change!)

于 2012-11-22T21:16:26.727 回答