Почему мой EventListener не производит одну итерацию цикла? - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь получить доступ только к одной итерации цикла за раз, основываясь на элементе, к которому применяется eventListener.До сих пор мне удавалось только щелкнуть по нему и просмотреть весь NodeList, а не только один из них.Я хотел бы применить операцию ко всем элементам NodeList, но ограничить ее одним элементом за раз.

Когда я беру console.log из массива "hand", в который я пытаюсь вставить одинИдентификатор NodeList за раз, вместо этого он создает полный список всех идентификаторов в NodeList.

function chooseCard () {
    let hand = [];
    for(const card of cards) {
        const addCard =  function () {hand.push(card.id)};
        card.addEventListener('click', addCard());
        let id1 = hand[0];
        let id2 = hand[1];
        console.log(hand);
        if(hand[0] === hand[1]) {
            addPoint();
        } else {
            changePlayer();
            if(card.id == id1 || card.id == id2) {
                card.firstElementChild.src = `img/cardback.jpeg`;
            }
            hand = [];
        }
    }
}

Мне нужно видеть только один идентификатор за клик.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...