div 调用两个不同的函数
div calling two different functions
我有两个不同的 div,当您单击它们时,它们会调用不同的函数。具有 class="msg1" 的 div 调用一个名为 message1() 的函数,该函数带来一个警告语句 ('this is message 1')。这很好用
我的问题是我有另一个名为 class="msg2" 的 div,它位于 div class="msg1" 中
当我单击此 div class="msg2" 时,它会调用函数 message2() 以及函数 message1(),这是我不想要的。
当我点击 div class="msg2" 我只想调用函数 message2()。
当我点击 div class=msg2?
时,如何才能执行函数 message2()
const message1 = () => {
alert('this is message 1')
}
const message2 = () => {
alert('this is message 2')
}
.msg1 {
width: 600px;
height: 600px;
background-color: darkgoldenrod;
display: flex;
align-items: center;
justify-content: center;
}
.msg2 {
width: 300px;
height: 300px;
background-color: dimgrey;
display: flex;
align-items: center;
justify-content: center;
}
<div class="msg1" onclick="message1()">
<div class="msg2" onclick="message2()">
</div>
</div>
您可以使用 event.stopPropagation()
停止从子 div
传播事件
const message1 = (event) => {
alert('this is message 1')
}
const message2 = (event) => {
alert('this is message 2');
event.stopPropagation();
}
.msg1 {
width: 600px;
height: 600px;
background-color: darkgoldenrod;
display: flex;
align-items: center;
justify-content: center;
}
.msg2 {
width: 300px;
height: 300px;
background-color: dimgrey;
display: flex;
align-items: center;
justify-content: center;
}
<div class="msg1" onclick="message1(event)">
<div class="msg2" onclick="message2(event)">
</div>
</div>
我有两个不同的 div,当您单击它们时,它们会调用不同的函数。具有 class="msg1" 的 div 调用一个名为 message1() 的函数,该函数带来一个警告语句 ('this is message 1')。这很好用
我的问题是我有另一个名为 class="msg2" 的 div,它位于 div class="msg1" 中 当我单击此 div class="msg2" 时,它会调用函数 message2() 以及函数 message1(),这是我不想要的。
当我点击 div class="msg2" 我只想调用函数 message2()。 当我点击 div class=msg2?
时,如何才能执行函数 message2()const message1 = () => {
alert('this is message 1')
}
const message2 = () => {
alert('this is message 2')
}
.msg1 {
width: 600px;
height: 600px;
background-color: darkgoldenrod;
display: flex;
align-items: center;
justify-content: center;
}
.msg2 {
width: 300px;
height: 300px;
background-color: dimgrey;
display: flex;
align-items: center;
justify-content: center;
}
<div class="msg1" onclick="message1()">
<div class="msg2" onclick="message2()">
</div>
</div>
您可以使用 event.stopPropagation()
div
传播事件
const message1 = (event) => {
alert('this is message 1')
}
const message2 = (event) => {
alert('this is message 2');
event.stopPropagation();
}
.msg1 {
width: 600px;
height: 600px;
background-color: darkgoldenrod;
display: flex;
align-items: center;
justify-content: center;
}
.msg2 {
width: 300px;
height: 300px;
background-color: dimgrey;
display: flex;
align-items: center;
justify-content: center;
}
<div class="msg1" onclick="message1(event)">
<div class="msg2" onclick="message2(event)">
</div>
</div>