вы можете загрузить модуль zbase62 из pypi
, например
>>> import zbase62
>>> zbase62.b2a("abcd")
'1mZPsa'
Почему все игнорируют делегирование событий 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>
Просто немного измените 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";
}
});