Почему функция вызывается один раз

Нужно чтобы она(функция) вызывалась столько раз, сколько будет кликов по кнопке. Но вот сейчас, она вызывается всего один раз и дальше прекращает что-либо делать.

$(".plus").click(function()
{
    var productArray = JSON.parse(localStorage.getItem("productData")) || [];
    var id = $(this).attr("data-id");

    productArray[id]["count"]++;
    localStorage.setItem("productData", JSON.stringify(productArray));
    $(".product-counter").eq(id+1).html(productArray[id]["count"]+'<div class="count-changer"><div class="minus change" data-id="'+id+'">-</div><div class="plus change" data-id="'+id+'">+</div></div>')

    console.log(id);
});

Ответы (1 шт):

Автор решения: Igor

Потому что Ваш элемент ".plus" находится внутри ".product-counter". Назначая html родителю, Вы пересоздаете все, что в нем находится. У этих вновь созданных элементов нет никаких обработчиков событий.

$(".product-counter").on("click", ".plus", function()
→ Ссылка