Javascript 在三个单独的事件上触发jQuery事件

Javascript 在三个单独的事件上触发jQuery事件,javascript,jquery,Javascript,Jquery,我有以下功能: function update_missing_info() { // do something } 我想触发这个函数(1)当一个特定页面加载时,(2)当一个下拉列表被更改时,(3)当另一个下拉列表更改时 下面是它的长形外观: // on page load if ($('.billing-page').length > 0) { update_missing_info(); }; // on changing first dropdown $('sel

我有以下功能:

function update_missing_info() {
    // do something
}
我想触发这个函数(1)当一个特定页面加载时,(2)当一个下拉列表被更改时,(3)当另一个下拉列表更改时

下面是它的长形外观:

// on page load
if ($('.billing-page').length > 0) {
    update_missing_info();
};

// on changing first dropdown
$('select[name="hd"]').change(function() {
    update_missing_info();
});

// on changing second dropdown
$('select[name="length"]').change(function() {
    update_missing_info();
});
有没有一种方法可以将这三者结合在一起,这样我就可以做到:

if (any of the three conditions met) {
    update_missing_info();
}

你可以把这两个变化事件合并成这个,但我不知道你是否可以把这三个都合并起来

$("select[name='hd'],select[name='length']").change(function() {
   update_missing_info();
});

您当然可以通过在jQuery中指定多个选择器来组合事件。您不能将它与第一个结合起来,因为它不是事件触发器,而是一个简单的条件调用。最简单的方法是:

// on page load
if ($('.billing-page').length > 0) {
    update_missing_info();
};

// on changing dropdowns
$('select[name="hd"], select[name="length"]').on('change', update_missing_info);
请注意,在事件处理程序中不需要匿名函数,因为在事件处理程序中不做任何事情,也不接受在没有任何参数的情况下调用另一个函数,因此可以将该函数指定为事件触发器