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);
请注意,在事件处理程序中不需要匿名函数,因为在事件处理程序中不做任何事情,也不接受在没有任何参数的情况下调用另一个函数,因此可以将该函数指定为事件触发器