Angular.js: Klik pada elemen anak memicu ng-kliknya sendiri dan juga orang tua

Dibuat pada 3 Des 2013  ·  9Komentar  ·  Sumber: angular/angular.js

Jika saya memiliki <div> dengan ng-click dan kemudian <button> di dalam dengan ng-click , mengklik tombol akan mengaktifkan keduanya ng-click penangan.

Saya menemukan PR kuno Igor untuk ini (#31 !) tetapi tampaknya stopPropagation() dia tambahkan telah hilang di antara keduanya.

Saya mencoba membagi dua, tetapi ternyata tidak berfungsi di 1.2.3, master, 1.1.5, 1.1.3, 1.0.6, atau 1.0.3. Saya mencoba membagi dua antara komitmen master dan Igor dalam PR di atas, tetapi perubahannya menjadi sangat lama (0.10.x) sehingga aplikasi pengujian saya tidak berfungsi sama sekali.

Kasus uji sederhana untuk mereproduksi ini di Plunkr .

Komentar yang paling membantu

Anda hanya perlu menambahkan kode $event.stopPropagation() pada div Anak pada acara klik

Semua 9 komentar

Tampaknya panggilan stopPropagation() telah dihapus oleh 1752c8c44a7058e974ef208e583683eac8817789.

@tbosch tolong buat keputusan apakah ini berfungsi seperti yang diharapkan atau jika ada sesuatu yang bisa kita lakukan untuk mengatasi situasi ini.

kami tidak dapat menghentikan propagasi secara default karena tidak akan ada cara untuk menghentikannya.

Ada kasus penggunaan yang valid untuk tidak menghentikan propagasi.
Menghentikan propagasi akan membuat kasus penggunaan tersebut menjadi tidak mungkin, karena kita tidak dapat menghentikan propagasi.

Misalnya kasus penggunaan:
Daftar item dengan tombol "terbitkan". Saat mengklik salah satu item tersebut, item tersebut harus disorot sebagai item yang dipilih. Ini juga harus terjadi jika tombol "terbitkan" dari item yang tidak dipilih ditekan.

Sekarang ini mungkin, lihat punk ini: http://plnkr.co/edit/jVIovi0L9Hgo1Bl9t72O?p=preview

Menutup ini karena berfungsi seperti yang diharapkan.

Anda hanya perlu menambahkan kode $event.stopPropagation() pada div Anak pada acara klik

@gomteshhatgine di ponsel atau ionik tidak berfungsi. itu membuat ng-klik anak tidak terpicu juga.

@gomteshhatgine dalam kasus saya, itu masih memicu sebagai

@maceonrails Tidak tahu tentang seluler, saya tidak mencoba

@xenogew itu harus bekerja
Bisakah Anda membagikan cuplikan kode?

@gomteshhatgine terima kasih. itu berhasil.

Tidak berfungsi lagi

Apakah halaman ini membantu?
0 / 5 - 0 peringkat