Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Присвоение класса после нажатия (https://javascript.ru/forum/jquery/78266-prisvoenie-klassa-posle-nazhatiya.html)

laimas 18.08.2019 16:10

Цитата:

Сообщение от WebMachine
теперь после добавления товара или увеличения кол-ва, кнопка не кликаетЦа

Потому, что сервер оказывается отдает html код не только элементов товаров корзины, но и кнопки открыть/закрыть, то есть кнопка перезаписывается, а значит обработчика для нее уже нет.

Ответ сервера вставляется в общего родителя, в ".mcart-panel", который есть всегда на странице, значит нужно ему делегировать обработку события этой кнопки:

$('#mcart-close').click(function() {
    $(this).closest('.mcart-panel').toggleClass('is-hidden')
})

заменить на
$('div.mcart-panel').on('click', '#mcart-close', function(e) {
    $(e.delegateTarget).toggleClass('is-hidden')
});

laimas 18.08.2019 16:30

Цитата:

Сообщение от WebMachine
почему у меня при увеличении кол-ва просит подтверждения действия "не указан ID товара" ?

Потому, что на данное действие почему-то происходит два ajax запроса. В перовом есть такие ключи: "id", "count", "show", "skin", на который сервер отвечает html кодом корзины, а после этого автоматически производится еще один запрос с ключами "act", "show", "skin", и так как в нем нет ключа "id", то сервер и возвращает сообщение "не указанном ID".

То есть, при щелчках на кнопках -+ почему-то срабатывает и обработка кнопки удаления товара [х]. А чего вы там натворили я не знаю.


Часовой пояс GMT +3, время: 08:43.