ストップ伝播は親要素へのバブリングを止めることを目的としたものではありませんか?イベントはstopPropagationであっても親にバブリングしていますか?
この場合、イベントターゲットを確認することがわかっていますが、この問題のみを防ぐための単語stopPropagationがなぜこのように実行されるのか不思議です。
https://jsfiddle.net/hzo9eq9m/
var child = document.querySelector('.parent')
.addEventListener('click',function(e){
e.stopPropagation();
$(this.querySelector('.child')).toggleClass('selected');
console.log(e);
},
false);
.society {
padding:10px;
background-color:green;
position:relative;
}
.parent {
background-color:red;
width:60%;
margin-left:30%;
}
.child {
width: 100%;
background-color:pink;
position:absolute;
top:0;
left:0;
width:0;
max-width:0px;
max-height:0px;
transition: max-width 1s, max-height 1s;
overflow:hidden;
}
.child.selected {
top:0;
left:0;
width:100%;
max-width:1000px;
max-height:1000px;
}
<div class="society">
<div class="parent">
parent
<div class="child">
child
</div>
</div>
</div>
あなたの問題は何ですか?ここではイベントリスナーが1つしかないので、['Event.stopPropagation'](https://developer.mozilla.org/en-US/docs/Web/API/Event/)からどのような動作が期待されているのか分かりませんstopPropagation)... –
子供がクリックされたときに、親にアタッチされたクリックイベントが発生しないと予想しています。親をクリックし、子が開くと、子がクリックされると、親のイベントが発生します。 stopPropagationはそれを防ぐことを主張します。 –
いいえ、 'child'に' stop propagation'を使うと、 'parent'にバブルアップしないよりも –