NullByte
@NullByte
Bad gateway

Как задать две переключающиеся функции для кнопки в jQuery?

Суть такая: при нажатии на кнопку один раз должна выполняться одна функция, при нажатии второй раз - другая. Метод toggle в текущей версии не работает.
$(".add-cart .non-wished").click(function (event) {
		event.preventDefault();
		var prodid = $(this).data(prodid)['prodid'];
		$.post(
			"/wishlist/",
			{id: prodid, action: "add"},
			function(resp) {
				//блаблабла
				$(".add-cart a i").removeClass("far").addClass("fas");
				$(".add-cart a").removeClass("non-wished").addClass("wished");
			}
		);
	});

	$(".add-cart .wished").click(function (event) {
		event.preventDefault();
		var prodid = $(this).data(prodid);
		$.post(
			"/wishlist/",
			{id: prodid, action: "rm"},
			function(resp) {
				//блоблобло
				$(".add-cart a i").removeClass("fas").addClass("far");
				$(".add-cart a").removeClass("wished").addClass("non-wished");
			}
		);
	});
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ответы на вопрос 1
mahmudchon
@mahmudchon
.hasClass() - https://api.jquery.com/hasClass/
Проверяйте наличие класса перед обработкой.
Или же просто после каждого клика записывайте какое-то значение в, например, переменную и меняйте. Перед обработкой - сравнивайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы