Как добавить прослушиватель событий ко всем дочерним кодам div и массиву этих div?
Я учусь JS и пытаюсь избежать jQuery, пока мои навыки JS не станут лучше.
цель: добавьте eventlistener, для события click, ко всем divs определенного класса. Все дочерние узлы этого класса реагируют на события.
мой HTML
 <div class="grid-panel six columns">
            <div class="grid-panel-image">
                <i class="fa fa-css3"></i>
            </div>
            <div class="grid-panel-title">
                <h4>css3</h4>
            </div>                  
    </div>
    <div class="grid-panel six columns">
        <div class="grid-panel-image">
            <i class="fa fa-paint-brush"></i>
        </div>
        <div class="grid-panel-title">
            <h4>tamberator</h4>
        </div>
    </div>
Я выделить все .grid-panel divs с помощью этого JS
var gridPanels = document.querySelectorAll('.grid-panel');
затем, так как это возвращает массив divs с классом .grid-panel
Я добавляю прослушиватель событий для click as такие
for(i=0; i<gridPanels.length; i++){
    gridPanels[i].addEventListener('click', myFunction);
}
моя функция это
 myFunction(){
    var e = event.target;
        switch(e){
            case gridPanels[0]:
            modalArray[0].setAttribute("data-modal-display", "show");
            break
            case gridPanels[1]:
            modalArray[1].setAttribute("data-modal-display", "show");
            break
        }
            console.log(e);
    }
это работает, если я нажму очень конкретную часть .grid-paneldiv и e регистрирует этот конкретный элемент.  Однако, щелкнув детей от div журналы e как элемент, который я щелкнул, но eventlistener не применяется к этому элементу.  Мне явно чего-то не хватает в этой делегации.  Я действительно хочу, чтобы функция срабатывала на div щелкнула и все ее дочерние коды.
1 ответов
вы связываетесь правильно, но если вы хотите получить элемент, к которому привязан обработчик в обработчике, используйте this или event.currentTarget вместо event.target.
на event.target представляет фактический элемент, который был нажат, что иногда также полезно. 
кроме того, вы должны определить
