Как вы динамически добавляете элементы в массив с помощью события jQuery click? - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь динамически добавлять URL каждого изображения в массив каждый раз, когда пользователь щелкает изображение. Я попытался с помощью метода массива pu sh () добавить URL-адрес изображения в пустой массив, но все, что он делает, это заменяет любой URL-адрес изображения, который уже существует, на новый, который вы нажимаете.

$("img").on("click", function () {
      event.preventDefault()
      console.log(this);
      const gif = $(this).attr("src");
      let savedGif = []
      savedGif.push(gif)
      console.log(savedGif)
    })

1 Ответ

3 голосов
/ 13 января 2020

Вы очищаете savedGif каждый раз, когда нажимаете. Инициализируйте его вне события onclick:

let savedGif = []

$("img").on("click", function() {
    event.preventDefault()
    const gif = $(this).attr("src");
    if(!savedGif.includes(gif)){
        savedGif.push(gif)
    }
    console.clear()
    console.log(savedGif)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img src="https://placekitten.com/200/100" />
<img src="https://placekitten.com/200/120" />
<img src="https://placekitten.com/200/140" />
<img src="https://placekitten.com/200/160" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...