Apa cara termudah untuk menghentikan penyebaran acara mouse di Angular 2? Haruskah saya melewati $event
objek khusus dan memanggil stopPropagation()
diri sendiri atau ada cara lain. Sebagai contoh di Meteor saya hanya bisa kembali false
dari event handler.
239
@HostListener("mousedown", ["$event"]) public onMousedown(event: any): void { event.stopPropagation(); }
Yang paling sederhana adalah memanggil propagasi stop pada pengendali event.
$event
berfungsi sama di Angular 2, dan berisi acara yang sedang berlangsung (dengan klik mouse, acara mouse, dll.):pada pengendali acara, kita dapat menghentikan propagasi di sana:
sumber
<button confirmMessage="are you sure?" (click)="delete()">Delete</button>
, dan dalam arahan saya:,(click)="confirmAction($event)
laluconfirmAction(event) { event.stopPropagation(); }
;event
fungsi handlerstopPropogation()
tidak tersedia. Saya harus melakukannya tepat di markup: `(klik) =" foo (); $ event.stopPropogation () "Memanggil
stopPropagation
acara mencegah propagasi:Untuk
preventDefault
kembali sajafalse
sumber
;
pada akhirnya. Saya akan mengubahnya.false
<3Menambah jawaban dari @AndroidUniversity. Dalam satu baris Anda dapat menulis seperti ini:
sumber
Jika Anda menggunakan metode yang terikat pada suatu acara, kembalikan false:
sumber
false
Panggilan balikpreventDefault
tidakstopPropagation
.preventDefault
disebut. github.com/angular/angular/blob/… , github.com/angular/angular/blob/…Ini bekerja untuk saya:
mycomponent.component.ts:
mycomponent.component.html:
sumber
Saya harus
stopPropigation
danpreventDefault
untuk mencegah tombol memperluas item akordeon yang ada di atasnya.Begitu...
sumber
Tidak ada yang berfungsi untuk IE (Internet Explorer). Penguji saya dapat merusak modal saya dengan mengklik jendela popup pada tombol di belakangnya. Jadi, saya mendengarkan klik pada div layar modal saya dan memaksa memfokuskan kembali pada tombol sembulan.
sumber
Saya menggunakan
singkatnya pisahkan panggilan fungsi / fungsi lain dengan ';' dan tambahkan $ event.stopPropagation ()
sumber
Saya baru saja memeriksa aplikasi Angular 6, event.stopPropagation () berfungsi pada event handler tanpa melewati $ event
sumber
Nonaktifkan tautan href dengan JavaScript
Bagaimana seharusnya juga bekerja di TypeScript dengan Angular (Versi Saya: 4.1.2)
Templat TypeScriptsumber
Menambahkan false setelah fungsi akan menghentikan propagasi acara
sumber
Ini menyelesaikan masalah saya, dari preventign bahwa suatu peristiwa dipecat oleh anak-anak:
sumber
Coba petunjuk ini
Pemakaian
sumber