Как выполнить функцию для нажатия кнопки в массиве?

вы можете загрузить модуль zbase62 из pypi

, например

>>> import zbase62
>>> zbase62.b2a("abcd")
'1mZPsa'

1
задан TylerH 15 April 2019 в 14:06
поделиться

2 ответа

Почему все игнорируют делегирование событий JS? !! (У меня изменяются значения CSS для использования фрагмента)

document.querySelector("#background").onclick = function (e) {
  if (e.target.className !== 'grid') return;
  e.stopPropagation();
  e.target.style.backgroundColor = "black";
}
body {
  margin: 0;
}
#background {
  position: absolute;
  height: 100px;
  width: 400px;
  background-color: grey;
  top: 100px;
  left: 10px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
}
.grid {
  display: block;
  height: 50px;
  width: 50px;
}
#background div {
  background-color: pink;
}
.grid:hover {
  background-color: lightgrey;
}
<div id="background">
  <div id="grid1" class="grid"></div>
  <div id="grid2" class="grid"></div>
  <div id="grid3" class="grid"></div>
  <div id="grid4" class="grid"></div>
  <div id="grid5" class="grid"></div>
</div>

0
ответ дан MrJ 15 April 2019 в 14:06
поделиться

Просто немного измените forEach:

cells.forEach((cell) => {
    cell.addEventListener("click", function(event){
        event.target.style.backgroundColor = "black";
    });
});

Если ваши ячейки всегда будут внутри элемента, вы можете использовать всплывающее окно событий в своих интересах:

document.getElementById("background").addEventListener("click", function(event) {
    if (event.target.className == "grid") {
        event.target.style.backgroundColor = "black";
    }
});
0
ответ дан Jack Bashford 15 April 2019 в 14:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: