function and multi addEventListener
Работает отслеживание нажатия только в последнем блоке где сработала функция.
Подскажите как ее заставить работать во всех блоках. function creater(name) { var img = document.querySelector('#'+name); img.addEventListener('click', function(e) { // }, false); } |
dima85,
id уникально! может class и for? |
А что с ID не так?
|
Цитата:
|
Ну правильно id уникальны. Они не могут повторяться.
Я запускаю функцию. creater("test1"); creater("test2"); И в данном случае отслеживание идет только в test2 блоке, Причина насколько я понимаю в переменной img |
dima85,
нужен макет, иначе только гадать. возможно уже нет элементов на которые ставился клик. |
dima85,
как вариант делегирование ... function creater(name) { document.addEventListener('click', function(e) { var img = e.target.closest('#'+name); if(img) alert('#'+name); }, false); } |
Разобрался. Спасибо за наводку. Не усмотрел html, id повторялся в одном из нужных блоков и это приводила с таким проблемам.
|
Часовой пояс GMT +3, время: 04:54. |