Слушатель событий не применяется - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь применить прослушиватель событий при нажатии на кнопки, созданные с помощью шаблонов django. Мой файл JavaScript правильно связан, как будто я веду стандартный журнал консоли, он отлично регистрирует, но прослушиватель событий l oop, похоже, ничего не делает.

для l oop применение прослушивателя событий к каждому элементу с классом update-cart

var updateBtns = document.getElementsByClassName('update-cart')


for (var i = 0; i < updateBtns.length; i++){
    updateBtns[i].addEventListener('click', function(){
        var productId = this.dataset.product
        var action = this.dataset.action
        console.log('productId:', productId, 'action:', action)
    })
}

Кнопки с атрибутами набора данных и классом update-cart

<button data-product="{{product.id}}" data-action="add" class="btn btn-primary update-cart">Add To Cart</button>

Мой JavaScript файл, связанный в сценариях, который включен до конца тега Body

{% load static %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js"></script>
<script src="{% static 'js/cart.js' %}"></script>

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 13 июля 2020

Вы должны помнить, что после обновления внутреннего HTML элемента скрытые свойства элементов внутри будут удалены. Так что будет лучше, если вы запустите l oop внутри Window LoadEvent.

...