首页 > 解决方案 > 如何在 Angular 的 for 循环中触发点击事件

问题描述

在网络应用程序中,每当用户单击图像时,我想在文件输入字段上触发单击事件。但我的问题是如何点击特定的文件输入。我尝试了以下方法,但它不起作用:

    <div class="col-md-6" *ngFor="let subcat of subcatsName; let i = index; trackBy:trackByIndex;">        
        <div class="form-group">
            <input type="file" #fileInput [name]="i+'_pics'" (change)="onSelectedFile($event)" />
            <img *ngIf="!subcatsPics[i]" (click)="fileInput.click()" src="https://via.placeholder.com/300x300.png?text=Click+here+to+change+image" class="npix">
        </div>
    </div>

    onSelectedFile(event){
            this.selectedFile = <File>event.target.files[0]
            this.preview(this.selectedFile)
        }

我是 Angular 的新手,对如何去做感到困惑。

标签: angular

解决方案


当您单击外部按钮时,它将单击另一个按钮,

.btn {
	font-size: 20px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery.js">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js">
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDzMXqR8GWGDP3ddFBdl5O_e0Ngc-U86kY"> </script>

<button class="btn btn-danger" onClick="document.getElementById('extBtn').click()">External Button</button>
<button class="btn btn-primary" onClick="alert('Clicked')" id="extBtn">Button</button>

这将适用于 JavaScript 和 jQuery。


推荐阅读