Qual é a maneira mais fácil de interromper a propagação de eventos do mouse no Angular 2? Devo passar um $event
objeto especial e stopPropagation()
me chamar ou de alguma outra maneira. Por exemplo, no Meteor, posso simplesmente retornar false
do manipulador de eventos.
238
@HostListener("mousedown", ["$event"]) public onMousedown(event: any): void { event.stopPropagation(); }
O mais simples é chamar parar a propagação em um manipulador de eventos.
$event
funciona da mesma maneira no Angular 2 e contém o evento em andamento (por meio de um clique do mouse, evento do mouse etc.):no manipulador de eventos, podemos parar a propagação:
fonte
<button confirmMessage="are you sure?" (click)="delete()">Delete</button>
, e na minha diretiva:,(click)="confirmAction($event)
entãoconfirmAction(event) { event.stopPropagation(); }
;event
com a função de manipuladorstopPropogation()
não está disponível. Eu tive que fazer isso direito na marcação: `(click) =" foo (); $ event.stopPropogation () "A chamada
stopPropagation
ao evento impede a propagação:Por
preventDefault
apenas voltarfalse
fonte
;
o final no entanto. Eu vou mudar isso.false
<3Adicionando à resposta da @AndroidUniversity. Em uma única linha, você pode escrever da seguinte maneira:
fonte
Se você estiver em um método vinculado a um evento, simplesmente retorne false:
fonte
false
chamadaspreventDefault
nãostopPropagation
.preventDefault
é chamado. github.com/angular/angular/blob/… , github.com/angular/angular/blob/…Isso funcionou para mim:
mycomponent.component.ts:
mycomponent.component.html:
fonte
Eu precisava
stopPropigation
epreventDefault
para impedir que um botão expandisse um item de acordeão que estava acima.Assim...
fonte
Nada funcionou para o IE (Internet Explorer). Meus testadores conseguiram interromper meu modal clicando na janela pop-up nos botões atrás dele. Então, ouvi um clique na minha tela modal div e forcei o foco novamente em um botão pop-up.
fonte
eu usei
em suma, apenas separe outras coisas / chamadas de função com ';' e adicione $ event.stopPropagation ()
fonte
Acabei de fazer o check-in em um aplicativo Angular 6, o event.stopPropagation () funciona em um manipulador de eventos sem passar $ event
fonte
Desativar link href com JavaScript
Como também deve funcionar no TypeScript com Angular (Minha versão: 4.1.2)
Modelo TypeScriptfonte
A adição de função false after interromperá a propagação de eventos
fonte
Isso resolveu meu problema, impedindo que um evento fosse disparado por crianças:
fonte
Tente esta diretiva
Uso
fonte