以Angualr為例:
<div class="previewImg" (click)="closeImg()"> <img id="leftArrow" *ngIf="mid > left" (click)="leftImg($event)" src="../../../assets/community/leftArrow@3x.png"/> <img id="pre" src="{{imageUrl}}"/> <img id="rightArrow" *ngIf="mid < right" (click)="rightImg($event)" src="../../../assets/community/rightArrow@3x.png"/> </div>
點擊left或right時同時會觸發外層的closeImg()事件,此時需阻止JS的冒泡事件。
closeImg() { this.imageUrl = ''; } leftImg(e) { alert('left!'); e.stopPropagation(); } rightImg(e) { alert('right!') e.stopPropagation(); }
e.stopPropagation();調用該語句即可只觸發內部的點擊事件。