Вадим, не понимаю, сделал как вы сказали, назначил каждой кнопке отдельный обработчик но это не помогло, также всё вызывается по несколько раз, может я вас не правильно понял.
Вадим, проблема в том что если первый раз нажимаешь то добавляется один товар и один alert, если два то два товара и два alert и так далее, я думаю это из-за рекурсивного вызова cartInit
Вадим, хорошо переформулирую. при нажатии на кнопку должно сначала появляться всплывающее окно, потом исходя из того что ввёл пользователь, то есть ввёл ли он значение или просто закрыл, товар должен либо рендерится с указанным значением либо нет, в моём случае мы можем заметить что товар появляется в корзине до каких-либо действий с всплывающим окном.