Почему по клику на блок .close
не убирается класс у родителя?
$('.modal').click(function() {
$(this).addClass('hi');
});
$('.close').click(function() {
$('.modal').removeClass('hi');
});
.hi {
color: green;
}
<div class="modal">
<div class="content">123</div>
<div class="close">close</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Клик по .close
приводит к вызову обработчика как для .close
, так и для .model
. Соответственно, класс удаляется и следом снова добавляется.
Как вариант, можно запрещать "всплывание" события:
$('.modal').click(function() {
$(this).addClass('hi');
});
$('.close').click(function() {
$('.modal').removeClass('hi');
return false;
});
.hi {
color: green;
}
<div class="modal">
<div class="content">123</div>
<div class="close">close</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$('.modal').click(function(event) {
$(event.target).hasClass('close') ? $(this).removeClass('hi') : $(this).addClass('hi');
});
.hi {
color: green;
}
<div class="modal">
<div class="content">123</div>
<div class="close">close</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Класс у родителя удаляется, и после этого клик всплывает к нему, где класс добавляется заново. По клику на .close
нужно отключать дальнейшее всплытие события.
$('.modal').click(function() {
$(this).addClass('hi');
});
$('.close').click(function(e) {
e.stopPropagation();
$('.modal').removeClass('hi');
});
.hi {
color: green;
}
<div class="modal">
<div class="content">123</div>
<div class="close">close</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Вот так, например, все работает:
$('.modal').click(function() {
$(this).addClass('hi');
});
$('.close').click(function() {
$('.modal').removeClass('hi');
});
.hi {
color: green;
}
.modal {
width:100px;
height:100px;
background:red;
}
.close {
width:40px;
height:30px;
background:blue;
text-align:center;
padding: 10px 0 0;
position:relative;
top:-100px;
left:60px
}
<div class="modal">
<div class="content">123</div>
</div>
<div class="close">X</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Печально, то что в другом режиме браузер не дает доступа на запись к локальному хранилищу и к кукамДумаю обмениваться значениями между скриптами...
В теории это дело должно менять содержимое #title на название болка, который сейчас в поле зренияНо ничего не происходит
Всем привет, как вы генерируете спрайты на webpack ? Какие плагины используете ?
$m = 3; // Кол-во строк $n = 5; // Кол-во чисел в строке Нужно сделать генерацию рандомных чисел и их сортировку