Как использовать обработчик событий одного клика для нескольких кнопок

У меня есть 4 кнопки с разными идентификаторами. Когда я нажимаю на них, мне нужно выполнить одну функцию. Итак, мне нужно что-то вроде этого:

$('#button #button').click(function()

person user1564141    schedule 16.08.2012    source источник


Ответы (4)


Чтобы выбрать 4 кнопки сразу, вы пишете следующее:

$('#button1, #button2, #button3, #button4').click(function(event){ /* code here */ });

Если вам нужно определить, какая кнопка была нажата, напишите что-то вроде:

$('#button1, #button2, #button3, #button4').click(function(event){ 
    if($(event.target).attr('id')=='button1'){
        /* specific code for button1 */
    } else if($(event.target).attr('id')=='button2'){
        /* specific code for button2 */
    } else if($(event.target).attr('id')=='button3'){
        /* specific code for button3 */
    } else if($(event.target).attr('id')=='button4'){
        /* specific code for button4 */
    } 
});
person P. R. Ribeiro    schedule 16.08.2012
comment
Не вижу смысла использовать один обратный вызов, если у вас разные коды. - person Denys Séguret; 16.08.2012
comment
Я тоже... Впрочем, вопрос тоже не совсем ясен... :-) - person P. R. Ribeiro; 17.08.2012
comment
@P.R.Ribeiro, как определить, какая кнопка нажата, если под повторителем есть только одна кнопка? - person Akansha; 17.05.2017
comment
@Akansha Я не понял твоего вопроса. - person P. R. Ribeiro; 06.06.2017

Проще всего было бы добавить класс ко всем вашим кнопкам следующим образом:

$('.button_action').click(function()
person ech    schedule 16.08.2012
comment
Что если для разных кнопок нужны разные классы? - person LCJ; 11.12.2012
comment
@Lijo, вы можете создать новый класс без стиля, который могут использовать все кнопки. Кроме того, вы можете применить несколько классов к элементу. - person konyak; 05.12.2014

Используйте запятую:

$('#button1, #button2').click(function()...
person Denys Séguret    schedule 16.08.2012

Разделите каждый id запятой:

$('#button1, #button2, #button3, #button4').click(...)
person João Silva    schedule 16.08.2012