Javascript 将多个单击处理程序合并为一个
假设我有两个执行相同功能的单击处理程序:Javascript 将多个单击处理程序合并为一个,javascript,jquery,Javascript,Jquery,假设我有两个执行相同功能的单击处理程序: $('#div1').click(function(event) { alert('here'); }); $('#div2').click(function(event) { alert('here'); }); 如何将这两个处理程序合并为一个处理程序,而不是重复调用alert 比如: $('#div1').click.(
$('#div1').click(function(event) {
alert('here');
});
$('#div2').click(function(event) {
alert('here');
});
如何将这两个处理程序合并为一个处理程序,而不是重复调用alert
比如:
$('#div1').click.('#div2').click(function(event) {
alert('here');
});
试试这个:
$('#div1, #div2').click(function(event) {
alert('here');
});
此外,如果您有许多div
元素包含在一个公共父级中,那么您可以利用事件委派并将单个处理程序附加到父级本身,如下所示:
$('.common-parent').on('click', 'div', function(event) {
...
});
第一种方式:
$('#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');
});