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()