Penyebaran acara dalam HTML DOM API boleh mengambil dua bentuk: menggelegak acara dan menangkap acara. Mod penyebaran menentukan susunan acara diterima oleh elemen yang bersarang di antara satu sama lain.
Dengan peristiwa menggelegak, peristiwa mula-mula berlaku dalam elemen paling dalam dan kemudian merambat ke luar kepada induknya elemen. Ini bermakna elemen yang paling dalam menerima peristiwa terlebih dahulu, diikuti oleh ibu bapa, datuk nenek dan seterusnya.
Berbeza dengan menggelegak, menangkap peristiwa menyebarkan peristiwa ke dalam, bermula dengan unsur paling luar dan bergerak ke arah unsur paling dalam. Ini bermakna elemen paling luar menerima acara terlebih dahulu, sebelum ia mencapai elemen anaknya.
Pilihan antara menggelegak dan menangkap bergantung pada senario penggunaan tertentu:
Pertimbangkan struktur HTML berikut:
<div> <ul> <li></li> </ul> </div>
Jika peristiwa klik berlaku pada elemen li:
Internet Explorer 9 dan ke atas, serta semua penyemak imbas utama, menyokong kedua-dua menggelegak dan menangkap. Walau bagaimanapun, dalam struktur DOM yang kompleks, menggelegak mungkin kurang berprestasi.
Untuk mendaftarkan pengendali acara menggunakan tangkapan, hantar benar sebagai argumen ketiga kepada addEventListener.
Atas ialah kandungan terperinci Peristiwa Bubbling vs. Menangkap: Bilakah Anda Harus Menggunakan Setiap Kaedah Penyebaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!