事件传播在角度 4 中不起作用
Event propogation not working in angular4
我有这样的 div 结构:
<div [ngClass]="showDragDrop == true ? 'show' : 'fade' "
(click)="hideWindow($event); $event.stopPropagation()">
<input type="file" (change)="uploadFile($event)" .../>
</div>
基本上在 hideWindow() 方法上我设置了 showDragDrop =false 这让我的 div 隐藏起来。
我的问题是,我在这个 div 中有一个 input='file' 按钮,当我点击它时它会触发 hideWindow() 方法。
我试过了
hideWindow(event) {
event.stopPropagation();
this.showDragDrop=false;
}
这个
(event)="doSomething($event); $event.stopPropagation()"
还有这个
(event)="doSomething($event); false"
但它不起作用
将event.stopPropagation();
移动到输入的click()
<input type="file" (click)="removetheClick($event)" ...>
和
removetheClick(event){
event.stopPropagation();
}
或者,更简洁的版本,正如@yurzui 所建议的:
<input type="file" (click)="$event.stopPropagation()" ...>
我有这样的 div 结构:
<div [ngClass]="showDragDrop == true ? 'show' : 'fade' "
(click)="hideWindow($event); $event.stopPropagation()">
<input type="file" (change)="uploadFile($event)" .../>
</div>
基本上在 hideWindow() 方法上我设置了 showDragDrop =false 这让我的 div 隐藏起来。
我的问题是,我在这个 div 中有一个 input='file' 按钮,当我点击它时它会触发 hideWindow() 方法。
我试过了
hideWindow(event) {
event.stopPropagation();
this.showDragDrop=false;
}
这个
(event)="doSomething($event); $event.stopPropagation()"
还有这个
(event)="doSomething($event); false"
但它不起作用
将event.stopPropagation();
移动到输入的click()
<input type="file" (click)="removetheClick($event)" ...>
和
removetheClick(event){
event.stopPropagation();
}
或者,更简洁的版本,正如@yurzui 所建议的:
<input type="file" (click)="$event.stopPropagation()" ...>