假设我有一个简单的
<li (click)="clicked($event)">click me</li>
然后我该如何在函数中确定事件是通过编程方式触发还是由用户触发?
可以使用jQuery收集这些信息,但是我没有机会仅使用js来实现。
答案 0 :(得分:4)
您可以检查event.isTrusted属性,以确定如何生成click
事件:
isTrusted
接口的Event
只读属性是一个布尔值 当事件是由用户操作生成时为true,否则为false 通过脚本创建或修改事件或通过以下事件调度事件时 dispatchEvent。
clicked(e: Event) {
console.log(e.isTrusted ? "Clicked by user" : "Clicked programmatically");
}
有关演示,请参见this stackblitz。