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, время: 06:18. |