Удалить последние изменения события

215
05 декабря 2017, 20:03

Здравствуйте, есть событие которое при клике устанавливает css свойство (неважно какому элементу, там много всего повешено на click.

$(document).on('click', ".flag1", function() {
            $('.flag1').css('background-image', 'url(img-url)').css('color', 'white');
        });

Как написать функцию которая будет при клике на другой элемент отменять эти изменения, то есть уюерет свойства css? Но важно, чтобы обработчик событий остался и можно было кликать сколько уодно раз и эти свойства css применялись бы снова. Пробовал off (но он вроде как удалит обработчик событий), unbind и никак(

Answer 1

Используйте функции addClass() и removeClass().

Вот пример:

$("#add").on("click", function() { 
	$("#txt").addClass("red"); 
}); 
$("#remove").on("click", function() { 
	$("#txt").removeClass("red"); 
});
.red { 
  color: red; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<button id="add">ADD</button> 
<button id="remove">REMOVE</button> 
<p id="txt">My Text</p>

READ ALSO
Фильтр по диапозону цены

Фильтр по диапозону цены

Есть такой небольшой фильтр:

245
Как сделать блок неактивным при нажатии на кнопку

Как сделать блок неактивным при нажатии на кнопку

Привет всем, возник вопрос, можно ли сделать на jquery функцию такого рода, которая при клике на нужный блок делает его активным, а все остальные...

280
Отличие row от column

Отличие row от column

Верстаю таблицу div-ами, возник вопрос, в чем морфологическое отличие column от row?

210