假设我有两个执行相同功能的点击处理程序:
$('#div1').click(function(event) {
alert('here');
});
$('#div2').click(function(event) {
alert('here');
});
如何将这两个处理程序合并为一个而不是重复调用警报?
类似的东西:
$('#div1').click.('#div2').click(function(event) {
alert('here');
});
答案 0 :(得分:4)
第一种方式:
$('#div1, #div2').click(function(event) {
alert('here');
});
第二种方式:
function doIt(e) {
alert('here');
}
$('#div1').click(doIt);
$('#div2').click(doIt);
请注意,您遇到此问题的事实有时意味着您应该使用类而不仅仅是id,以便您可以执行类似
的操作$('.alertable').click(function(event) {
alert('here');
});
答案 1 :(得分:3)
试试这个:
$('#div1, #div2').click(function(event) {
alert('here');
});
此外,如果你有很多div
元素,包含在一个共同的父元素中,你可以利用事件委托并将一个处理程序附加到父本身,如下所示:
$('.common-parent').on('click', 'div', function(event) {
...
});