Какой самый простой способ остановить распространение событий мыши в Angular 2? Должен ли я передать специальный $event
объект и позвонить stopPropagation()
себе или есть какой-то другой путь. Например, в Meteor я могу просто вернуться false
из обработчика событий.
239
@HostListener("mousedown", ["$event"]) public onMousedown(event: any): void { event.stopPropagation(); }
Самое простое - вызвать остановку распространения в обработчике событий.
$event
работает аналогично в Angular 2 и содержит текущее событие (щелчок мышью, событие мыши и т. д.):на обработчике событий мы можем остановить распространение:
источник
<button confirmMessage="are you sure?" (click)="delete()">Delete</button>
и в моей директиве:,(click)="confirmAction($event)
тогдаconfirmAction(event) { event.stopPropagation(); }
;event
в функции обработчика,stopPropogation()
не доступно. Я должен был сделать это прямо в разметке: `(click) =" foo (); $ event.stopPropogation () "Вызов
stopPropagation
события предотвращает распространение:Для
preventDefault
справедливого возвращенияfalse
источник
;
в конце, хотя. Я изменю это.false
<3Добавление к ответу от @AndroidUniversity. В одной строке вы можете написать это так:
источник
Если вы находитесь в методе, связанном с событием, просто верните false:
источник
false
звонковpreventDefault
нетstopPropagation
.preventDefault
называется. github.com/angular/angular/blob/… , github.com/angular/angular/blob/…Это сработало для меня:
mycomponent.component.ts:
mycomponent.component.html:
источник
Мне нужно было
stopPropigation
иpreventDefault
для того, чтобы кнопка не расширяла предмет гармошки, над которым она сидела.Так...
источник
Ничего не работает для IE (Internet Explorer). Мои тестеры смогли сломать мой мод, щелкнув всплывающее окно на кнопках позади него. Итак, я прослушал щелчок по моему модальному экрану и принудительно перефокусировал всплывающую кнопку.
источник
я использовал
короче говоря, просто разделяйте другие вызовы / функции с помощью ';' и добавьте $ event.stopPropagation ()
источник
Я только что проверил в приложении Angular 6, event.stopPropagation () работает с обработчиком событий, даже не передавая $ event
источник
Отключить ссылку href с помощью JavaScript
Как это должно также работать в TypeScript с Angular (Моя версия: 4.1.2)
шаблон Машинописьисточник
Добавление false после функции остановит распространение события
источник
Это решило мою проблему, предупредив, что событие запускается детьми:
источник
Попробуйте эту директиву
использование
источник