В Angular, как я могу определить между программным и пользовательским кликом? - PullRequest
0 голосов
/ 29 октября 2018

Допустим, у меня есть простой

<li (click)="clicked($event)">click me</li>

Как я могу узнать в функции, было ли событие запущено программно или пользователем?

Можно собрать это с помощью jQuery, но у меня не было шансов сделать это только с помощью js.

1 Ответ

0 голосов
/ 29 октября 2018

Можно проверить свойство event.isTrusted , чтобы определить, как было сгенерировано событие click:

Свойство isTrusted только для чтения интерфейса Event является логическим это верно, когда событие было сгенерировано действием пользователя, и false когда событие было создано или изменено скриптом или отправлено через dispatchEvent.

clicked(e: Event) {
  console.log(e.isTrusted ? "Clicked by user" : "Clicked programmatically");
}

См. этот стек для демонстрации.

...