我试图以编程方式触发元素上的click事件(或任何其他事件),换句话说,我想知道angular2中jQuery .trigger()方法提供的类似功能.
有没有内置的方法来做到这一点?.....如果没有请建议我该怎么做
请考虑以下代码片段
<form [ngFormModel]="imgUploadFrm"
(ngSubmit)="onSubmit(imgUploadFrm)">
<br>
<div class="input-field">
<input type="file" id="imgFile" (click)="onChange($event)" >
</div>
<button id="btnAdd" type="submit" (click)="showImageBrowseDlg()" )>Add Picture</button>
</form>
Run Code Online (Sandbox Code Playgroud)
当用户点击btnAdd时,它应该触发imgFile上的click事件
这是我当前的主持人监听器
@HostListener('document:myCustomEvent', ['$event'])
updateNodes(event) {
console.log(this.variable);
}
Run Code Online (Sandbox Code Playgroud)
我在这里称呼它:
var event = document.createEvent("CustomEvent");
event.initCustomEvent('myCustomEvent', true, true,
true);
Run Code Online (Sandbox Code Playgroud)
document.dispatchEvent(event);
我的问题是,我可以将自定义参数传递给updateNodes吗?例如:
@HostListener('document:myCustomEvent', ['$event'])
updateNodes(event, param1, param2) {
console.log(this.variable);
console.log(param1);
console.log(param2);
}
Run Code Online (Sandbox Code Playgroud)