Простите меня, если я неправильно сформулирую название, я размышляю над тем, что может быть моей проблемой, поскольку я не эксперт по кодировке javascript. У меня есть серия div, которые генерируются с помощью php-цикла с уникальными идентификаторами, создаваемыми путем добавления уникального идентификатора, содержащегося в столбце auto increment в таблице mysql db, которая содержит всю информацию для строки.Создание прослушивателей событий javascript по уникальным строкам, созданным php loop
Когда пользователь нажимает на DIV эта функция выстреливает:
onclick=\"showModal('".$rowInfo['ID']."_row-id')\"
Javascript код:
function showModal(ID) { /* code that shows hidden modal window */ }
Это прекрасно работает, однако теперь мне нужно, чтобы начать добавлять Javascript кнопки (в моем случае img с функциями onclick) в div с функцией showModal onclick.
Я добавил этот код функции ShowModal (ID):
var downArrow = document.getElementById(ID+'_down-arrow'); // Down arrow is the button users click to show addition buttons/divs
downArrow.addEventListener('click',arrowCheck,false); // checks to see if down arrow was clicked, if so arrowCheck function runs and stops propagation.
arrowCheck функции:
function arrowCheck(e) { e.stopPropagation(); }
Этот бит кода также работает, но только после того, как пользователь нажал на DIV один раз, при первом нажатии на кнопку div обе функции отключены (т. е. модальное окно и дополнительные кнопки, которые отображается стрелкой вниз), но после первого щелчка addEventListener выполняет свою работу, и нажатие стрелки вниз показывает только дополнительные кнопки, в другом - модальный и т. д.
Я предполагаю, что мне нужно создать прослушиватель событий, прежде чем пользователь нажимает на div и запускает showModal(), это правильно? Я не знаю, как создать уникальный прослушиватель событий для каждого изображения стрелки вниз до того, как щелкнет div, или даже если мне нужно. Спасибо за любую помощь!