0

Есть 10 кнопок с одинаковым классом на сайте. Нужно определить на какой из 10 кнопок я нажал.

Stas
  • 5

2 Answers2

2

Вам в обработчике приходит this, который указывает на нажатый элемент

jQuery(function($) {
  $('.btn').click(function() {
    const el = $(this);
    console.log(el.text(), el.data("btn"));
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="btn" data-btn="1">Button 1</button>
<button class="btn" data-btn="2">Button 2</button>
<button class="btn" data-btn="3">Button 3</button>
<button class="btn" data-btn="4">Button 4</button>
<button class="btn" data-btn="5">Button 5</button>
<button class="btn" data-btn="6">Button 6</button>
0

document.body.addEventListener('click', () => {
  var target = event.target;

if (target.tagName != 'BUTTON') return;

target.style.background = 'black'; })

button {
  width: 50px;
  height: 50px;
}
<button class='ten'></button>
<button class='ten'></button>
<button class='ten'></button>
<button class='ten'></button>
<button class='ten'></button>

С помощью target

  • Представляете, на странице есть сложная таблица со вложенностями, различные вспомогательные контролы, тулбары, меню, футер и еще куча всего. И в итоге у вас запрос обходит это всё. Это же жесть)) – Алексей Шиманский Jul 02 '19 at 17:40