我想知道是否可以使用 .on()
将匿名函数附加到两个不同的元素和两个不同的事件。例如,我正在使用引导选项卡, Bootstrap 会引发一个自定义事件类型来更改名为 shown.bs.tab
的选项卡。我想使用 .on()
将匿名函数附加到此事件,但我想将相同的匿名函数附加到按钮的 click
事件。
我正在考虑这样做:
$('a[data-toggle="tab"],#myButton').on('shown.bs.tab click', function () {
alert("Tada");
});
但这有一个副作用,即切换选项卡时会显示两次警报。一次用于 shown.bs.tab
事件,另一次用于 click
事件。
我想我可以这样做:
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);
ShowAlert
从技术上讲是一个匿名函数。
关于javascript - 是否可以将匿名函数附加到两个不同的元素/事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005315/