Я использую JQuery toggleClass для изменения цвета кнопки при нажатии. При повторном щелчке он должен вернуться к исходному цвету, а при щелчке мышью в любом другом месте, включая пустое пространство, он должен вернуться к исходному цвету.
Я не мог понять, как это сделать, но ниже приведены два фрагмента, которые мне удалось найти и подключить.
Следующий фрагмент изменит цвет при нажатии кнопки, но при повторном нажатии он не вернется к исходному цвету, но при нажатии любого другого элемента или пробела цвет кнопки возвращается к исходному цвету:
(function () {
$('.button_is').click(function(evt) {
evt.stopPropagation(); //stops the document click action
$(this).siblings().removeClass('button_addition');
$(this).toggleClass('button_addition');
});
$(document).click(function() {
$('.button_is').removeClass('button_addition'); //make all inactive
});
});
Следующий фрагмент будет переключать класс при щелчке элемента, а при повторном щелчке он возвращается в исходное состояние, но не вернется к исходному цвету, если щелкнуть в другом месте:
$(document).ready(function () {
$(".button_is").click(function () {
$(this).toggleClass("button_addition");
});
});
Какой из этих двух фрагментов я могу использовать, чтобы убедиться, что при нажатии кнопки цвет меняется, а при повторном нажатии возвращается к исходному цвету И при нажатии других элементов или пустого пространства возвращается к исходному цвету?