В моем приложении Angular есть функция, которая вызывается с помощью события вывода (mousedown)
для кнопки Click Me . Функция содержит код, который подписывается на future mousedown
events.
Однако, как ни странно, подписка срабатывает даже за до любого другого события mousedown.
Я создал Stackblitz для демонстрации (+ исходный код ), но вот код, вставленный здесь:
@Component({
selector: "my-app",
templateUrl: "./app.component.html",
styleUrls: ["./app.component.css"]
})
export class AppComponent {
name = "Angular";
output = '';
performActionOnClick() {
console.log("Action [1] Performed!");
this.output += "\nAction [1] Performed!";
fromEvent<MouseEvent>(document, "mousedown").subscribe(
this.performActionOnTrigger.bind(this)
);
}
performActionOnTrigger() {. <------ this function gets called despite
console.log("Action [2] Performed!"); only one mouse click !
this.output += "\nAction [2] Performed!";
}
}
Почему эта функция вызывается только после одного щелчка мыши ?