Javascript 是否可以将匿名函数附加到两个不同的元素/事件?

Javascript 是否可以将匿名函数附加到两个不同的元素/事件?,javascript,jquery,events,jquery-events,Javascript,Jquery,Events,Jquery Events,我想知道是否可以使用.on()将匿名函数附加到两个不同的元素和两个不同的事件。例如,我正在使用引导选项卡,引导会引发一个自定义事件类型,用于更改名为show.bs.tab的选项卡。我想使用.on()将匿名函数附加到此事件,但我想将相同的匿名函数附加到按钮的单击事件 我正在考虑这样做: $('a[data-toggle="tab"],#myButton').on('shown.bs.tab click', function () { alert("Tada"); }); 但这有一个副作用

我想知道是否可以使用
.on()
将匿名函数附加到两个不同的元素和两个不同的事件。例如,我正在使用引导选项卡,引导会引发一个自定义事件类型,用于更改名为
show.bs.tab
的选项卡。我想使用
.on()
将匿名函数附加到此事件,但我想将相同的匿名函数附加到按钮的
单击事件

我正在考虑这样做:

$('a[data-toggle="tab"],#myButton').on('shown.bs.tab click', function () {
    alert("Tada");
});
但这有一个副作用,即在切换选项卡时显示两次警报。一次用于显示的
选项卡
事件,另一次用于
单击事件

我想我可以做到:

function ShowAlert() {
    alert("Tada");
}
$('a[data-toggle="tab"]').on('shown.bs.tab', ShowAlert);
$('#myButton').on('click', ShowAlert);
但是我想使用一个匿名函数。有没有一种优雅的方法可以做到以下几点

// Pseudocode
$('a[data-toggle="tab"]').on('shown.bs.tab') AND $('#myButton').on('click') DO: function () {
    alert("Anonymous function called");
});

我想你可以做到:

var ShowAlert = function() {
    alert("Tada");
}
$('a[data-toggle="tab"]').on('shown.bs.tab', ShowAlert);
$('#myButton').on('click', ShowAlert);

showarert
从技术上讲是一个匿名函数。

我想您可以这样做:

var ShowAlert = function() {
    alert("Tada");
}
$('a[data-toggle="tab"]').on('shown.bs.tab', ShowAlert);
$('#myButton').on('click', ShowAlert);

showarert
从技术上讲是一个匿名函数。

jQuery使用css选择器,因此您可以对不同的类使用相同的代码,您可以使用以下命令搜索多个对象:

var ShowAlert = function() {
        alert("Tada");
    };
    $('.a[data-toggle="tab"],#myButton').on('click', ShowAlert);


jQuery使用css选择器,因此您可以对不同的类使用相同的代码,您可以使用以下命令搜索多个对象:

var ShowAlert = function() {
        alert("Tada");
    };
    $('.a[data-toggle="tab"],#myButton').on('click', ShowAlert);


为什么它是一个匿名函数很重要?它还是会被呼叫两次。@Halcyon我只是好奇这是否可能。或者让代码更简洁。也许有一些方法我不知道。我认为有一种方法可以将函数直接传递给
。on()
为什么它是匿名函数很重要?它还是会被呼叫两次。@Halcyon我只是好奇这是否可能。或者让代码更简洁。也许有一些方法我不知道。我认为有一种方法可以将函数直接传递到
.on()