Всем привет! Ребят помогите, уже мозг вынес этой задачей.
У меня динамически генерируются около сотни изображений:
это список этих картинок
<img src="../../Images/Items/@item.Img" id="@item.Items_Id" name="@item.Items_Id"/>
тут, в блок пониже, мне необходимо визуально отображать пять кликнутых картинок
<div style="background-color:yellow">
<img src="../../Images/empty.png" id="ImgNeed1" />
<img src="../../Images/empty.png" id="ImgNeed2" />
<img src="../../Images/empty.png" id="ImgNeed3" />
<img src="../../Images/empty.png" id="ImgNeed4" />
<img src="../../Images/empty.png" id="ImgNeed5" />
</div>
У меня получается отлавливать событие клик и всего body, но это мешает логике работы
window.onload = function () {
document.body.onclick = function (event) {
if (document.getElementById("ImgNeed1").src == 'http://localhost:11733/Images/empty.png') { document.getElementById("ImgNeed1").src = event.target.src; return; }
if (document.getElementById("ImgNeed2").src == 'http://localhost:11733/Images/empty.png') { document.getElementById("ImgNeed2").src = event.target.src; return; }
...
}
}
а вот как ловить клик только у изображений...? И в идеале изображений определенного класа или в определенном блоке, чтобы логика не нарушалась (на любую картинку в боди кликнул и она перенеслась)
как не пробовал "слушать" клики по картинками:
window.onload = function () {
var element = document.getElementsByTagName('img');
element.onclick = function () { alert('did stuff #1'); };
}
или
document.body.getElementsByTagName('img').onclick = function (event) {
или
document.body.image.onclick = function (event) {
только глобально с боди document.body.onclick работает хоть тресни ему
..
UP1
Костыль, но решает задачу
...
document.body.onclick = function (event) {
if (event.target.className == "ItemsForChois") { - если это одна из сотни картинок - обрабатываем
...