#javascript #html #jquery
#javascript #HTML #jquery
Вопрос:
Если я нажму кнопку boom, я хочу, чтобы происходило только «boom!».
Но когда я нажимаю boom
сначала, boom
появляется предупреждение, после нажатия на ok
это предупреждение закрывается, и появляется другое предупреждение, которое должно появляться только при нажатии на test.
Если я не могу переместить кнопку из div, как мне с этим справиться?
$('#divid1 #boom').click(function() {
alert("boom!");
});
$('#divid1').click(function() {
alert("no?!");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divid1" style="background-color: #939651; width: 30%; height: 30%;">
<h1>test</h1>
<p><button id="boom">boom!</button></p>
</div>
Ответ №1:
Используйте, чтобы предотвратить передачу события в контейнер. event.stopPropagation()
$('#divid1 #boom').click(function(e) {
e.stopPropagation();
alert("boom!");
});
$('#divid1').click(function() {
alert("no?!");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divid1" style="background-color: #939651; width: 30%; height: 30%;">
<h1>test</h1>
<p><button id="boom">boom!</button></p>
</div>