Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/88: Рейтинг темы: голосов - 88, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 02.05.2018
Сообщений: 1

Общий обработчик для кнопок с одним классом

02.05.2018, 22:44. Показов 16819. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код:

JavaScript
1
2
3
4
5
var btn = document.getElementsByClassName('button');
 
btn.onclick = function() {
  alert(this.id);
}
Ну и часть документа:

HTML5
1
2
3
4
...
<input type="button" class="button" id="btn1">
<input type="button" class="button" id="btn2">
...
Не могу понять как сделать общий обработчик при нажатии на кнопки с одинаковым классом.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.05.2018, 22:44
Ответы с готовыми решениями:

Написать для трех кнопок общий обработчик OnClick для вывода, скрытия/отображения и изменения цвета текста
На форме Form_Lb расположена пустая метка Lb_txt с текстом и три кнопки класса TButton с надписями:&lt;Delphi&gt;, &lt;Цвет&gt; и...

Динамически создать 15 кнопок на форме и сделать общий обработчик OnClick
Здравствуйте, создаю 15 кнопок вот так: HWND hWnd = this-&gt;Handle; long hThisInstance = GetWindowLong(hWnd, GWL_HINSTANCE); int a =...

Создать массив кнопок, для каждой кнопок будет одинаковый обработчик
Всем привет! Нужна помощь в реализации такой задачи. Нужно создать массив кнопок, для каждой кнопок будет одинаковый обработчик...

6
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
02.05.2018, 23:20
hellodarkness, дать событие их родителю и по условию проверять target. Это называется делегирование.
К примеру - песочница
HTML5
1
2
3
4
5
6
7
8
<div class="parent">
  <button class="myclass">кнопка 1</button>
  <button class="myclass">кнопка 2</button>
  <button class="myclass">кнопка 3</button>
  <button class="myclass">кнопка 4</button>
  <button class="myclass">кнопка 5</button>
  <button class="myclass">кнопка 6</button>
</div>
JavaScript
1
2
3
document.querySelector('.parent').addEventListener('click',function(e){
  if (e.target.classList.contains('myclass')) alert("Я " + e.target.innerText)
})
0
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
03.05.2018, 10:30
В дополнение вышесказанному, обработчик можно ставить на каждый элемент выборки
https://codepen.io/anon/pen/wjeqvg?editors=1011

JavaScript
1
2
3
4
5
Array.from(document.querySelectorAll('.myclass'), function(el){
  el.onclick = function(){
    alert("Я " + this.innerText)
  }
})
0
Эксперт JSЭксперт HTML/CSS
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
03.05.2018, 12:52
msheal, приветствую
0
03.05.2018, 13:48

Не по теме:

Qwerty_Wasd, :drink:

0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
04.05.2018, 03:01
Цитата Сообщение от hellodarkness Посмотреть сообщение
Есть код:
код этот не рабочий,не сработает даже для одной кнопки,потому что btn это массив элементов,нельзя назначить обработчик массиву элементов,можно каждому элементу в отдельности. Для этого надо массив перебрать

JavaScript
1
2
3
var btn = document.getElementsByClassName('button');
for(var i = 0; i < btn.length; i++)
    btn[i].onclick = function() {alert(this.id)};
1
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
04.05.2018, 09:56
klopp, В этом случае обработчик ставится на родителя, так что код рабочий при условии что на странице есть только один .parent. В противном случае обработчик поставится только на первый такой элемент
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2018, 09:56
Помогаю со студенческими работами здесь

Общий обработчик для всех страниц
Добрый день. Еесть вот такой участок кода protected override void OnPreInit(EventArgs e) { ...

Один обработчик для 9 кнопок
Привет, ребята. Нужна Ваша помощь. Пишу небольшую обучающую программку. Вот в чем проблема. На форме имеется 9 кнопок, код для которых...

Обработчик для массива кнопок
Есть массив кнопок, создающийся динамически, как к каждой кнопке написать код, чтоб по клику она нажималась, выводился номер нажатой...

Обработчик событий для динамических кнопок
Всем доброго времени суток. Суть вопроса такая: Необходимо сделать настраиваемую систему АРМ. То есть захожу в настройки, добавляю...

Один обработчик для 100 кнопок?
На форме есть 100 кнопок. Как сделать один раз для всех кнопок, чтобы не описывать нажатие для каждой конкретной кнопки сто раз: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru