Rumah hujung hadapan web tutorial js Fahami mekanisme penyebaran peristiwa: tangkapan dan analisis pesanan gelembung

Fahami mekanisme penyebaran peristiwa: tangkapan dan analisis pesanan gelembung

Feb 19, 2024 pm 07:11 PM
Acara menggelegak iaitu pelayar tangkapan acara gelembung rentetan peristiwa

Fahami mekanisme penyebaran peristiwa: tangkapan dan analisis pesanan gelembung

Adakah peristiwa itu perlu dirakam dahulu atau dibuih dahulu? Memecahkan misteri pesanan pencetus acara

Pemprosesan acara adalah bahagian yang sangat penting dalam pembangunan web, dan susunan pencetus acara adalah salah satu misteri. Dalam HTML, acara biasanya disebarkan dengan "menangkap" atau "bergelembung". Mana yang perlu ditangkap dahulu atau dibuih dahulu? Ini adalah soalan yang sangat mengelirukan.

Sebelum menjawab soalan ini, mari kita fahami mekanisme "tangkap" dan "gelembung" peristiwa. Tangkapan peristiwa merujuk kepada penghantaran peristiwa lapisan demi lapisan dari elemen atas ke nod sasaran, manakala acara menggelegak merujuk kepada penghantaran peristiwa lapisan demi lapisan dari nod sasaran ke elemen atas. Kedua-dua kaedah penyebaran memainkan peranan penting dalam pemprosesan peristiwa.

Dalam pelayar awal, pesanan penyebaran acara dipelopori oleh Netscape. Mereka percaya bahawa susunan penyebaran peristiwa hendaklah daripada unsur paling luar kepada unsur dalam, dan kemudian dari unsur dalam kepada unsur luar. Oleh itu, penyemak imbas Netscape mentakrifkan urutan penyebaran peristiwa sebagai tangkapan peristiwa dan peristiwa menggelegak.

Walau bagaimanapun, dengan populariti Internet, Microsoft melancarkan pelayar IEnya sendiri dan menggunakan urutan penyebaran acara yang berbeza daripada Netscape. Mereka percaya bahawa penyebaran peristiwa harus bermula dari unsur paling dalam ke unsur luar, dan kemudian merambat dari unsur luar ke unsur dalam.

Untuk menyelesaikan masalah ketidakserasian bersama ini, W3C telah membangunkan piawaian bersatu. Menurut piawaian W3C, susunan penyebaran acara hendaklah menangkap dahulu dan kemudian menggelegak. Ini ialah susunan penyebaran yang kini diikuti oleh semua penyemak imbas moden.

Secara khusus, apabila peristiwa berlaku pada elemen, penyemak imbas akan melakukan fasa tangkapan acara terlebih dahulu. Dalam fasa tangkapan peristiwa, penyemak imbas menyebarkan peristiwa daripada elemen paling luar kepada elemen sasaran. Apabila acara merambat ke elemen sasaran, ia memasuki fasa sasaran. Dalam fasa sasaran, penyemak imbas melaksanakan pengendali acara yang terikat pada elemen sasaran. Akhir sekali, acara memasuki peringkat menggelegak, dan penyemak imbas akan menyebarkan acara daripada elemen sasaran ke elemen luar sehingga ia mencapai elemen paling luar.

Untuk lebih memahami urutan penyebaran acara, kami boleh menunjukkannya dengan contoh mudah. Katakan kita mempunyai dokumen HTML yang mengandungi tiga elemen bersarang:

<div id="outer">
  <div id="inner">
    <button id="button">Click me</button>
  </div>
</div>
Salin selepas log masuk

Kami mengikat fungsi pengendali acara pada setiap elemen, yang dilaksanakan dalam fasa penangkapan acara dan fasa menggelegak. Kita boleh mencapai ini melalui kod berikut:

var outer = document.getElementById('outer');
var inner = document.getElementById('inner');
var button = document.getElementById('button');

outer.addEventListener('click', function() {
  console.log('Outer capture');
}, true);

inner.addEventListener('click', function() {
  console.log('Inner capture');
}, true);

button.addEventListener('click', function() {
  console.log('Button capture');
}, true);

outer.addEventListener('click', function() {
  console.log('Outer bubble');
}, false);

inner.addEventListener('click', function() {
  console.log('Inner bubble');
}, false);

button.addEventListener('click', function() {
  console.log('Button bubble');
}, false);
Salin selepas log masuk

Apabila kita mengklik butang, hasil keluaran konsol ialah:

Outer capture
Inner capture
Button capture
Button bubble
Inner bubble
Outer bubble
Salin selepas log masuk

Daripada keputusan, kita dapat melihat dengan jelas susunan penyebaran acara. Mula-mula, penyemak imbas akan melaksanakan fungsi pemprosesan acara bagi fasa tangkapan (Tangkapan Luar, Tangkapan Dalam dan Tangkapan Butang) mengikut urutan dari luar ke dalam. Seterusnya, penyemak imbas akan melaksanakan fungsi pemprosesan acara fasa menggelegak (Button bubble, Inner bubble dan Outer bubble) mengikut urutan dari dalam ke luar.

Melalui contoh ini, kita boleh menyimpulkan bahawa dalam penyemak imbas moden, urutan penyebaran peristiwa adalah untuk menangkap dahulu dan kemudian gelembung. Ini diberi mandat oleh piawaian yang ditetapkan oleh W3C.

Dalam proses pembangunan sebenar, kami biasanya menggunakan mekanisme menggelegak acara untuk mengendalikan acara. Kerana mekanisme menggelegak acara boleh melaksanakan delegasi acara dengan mudah, mengurangkan bilangan fungsi pemprosesan acara dan meningkatkan prestasi. Mekanisme penangkapan peristiwa agak jarang digunakan dan hanya digunakan dalam beberapa keadaan khas.

Ringkasnya, susunan penyebaran peristiwa adalah untuk menangkap dahulu dan kemudian gelembung. Dengan memahami mekanisme penyebaran peristiwa, kami boleh mengendalikan acara dengan lebih baik dan meningkatkan pengalaman pengguna halaman web.

Atas ialah kandungan terperinci Fahami mekanisme penyebaran peristiwa: tangkapan dan analisis pesanan gelembung. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika imej pada halaman web tidak boleh dimuatkan? 6 penyelesaian Apakah yang perlu saya lakukan jika imej pada halaman web tidak boleh dimuatkan? 6 penyelesaian Mar 15, 2024 am 10:30 AM

Beberapa netizen mendapati bahawa apabila mereka membuka halaman web pelayar, gambar di halaman web itu tidak dapat dimuatkan untuk masa yang lama. Saya menyemak bahawa rangkaian adalah normal, jadi apakah masalahnya? Editor di bawah akan memperkenalkan kepada anda enam penyelesaian kepada masalah bahawa imej halaman web tidak boleh dimuatkan. Imej halaman web tidak boleh dimuatkan: 1. Masalah kelajuan Internet Halaman web tidak dapat memaparkan imej Ia mungkin kerana kelajuan Internet komputer agak perlahan dan terdapat lebih banyak perisian yang dibuka pada komputer Dan imej yang kami akses adalah agak besar mungkin disebabkan oleh tamat masa pemuatan Akibatnya, gambar tidak dapat dipaparkan Anda boleh mematikan perisian yang mengambil kelajuan rangkaian dan menyemaknya dalam pengurus tugas. 2. Terlalu ramai pelawat Jika halaman web tidak dapat memaparkan gambar, mungkin kerana halaman web yang kami lawati telah dilawati pada masa yang sama.

Bagaimana untuk menetapkan mod keserasian penyemak imbas kelajuan 360 Bagaimana untuk menetapkan mod keserasian penyemak imbas kelajuan 360 Feb 24, 2024 am 10:49 AM

360 Speed ​​​​Bwser ialah aplikasi pelayar popular yang membolehkan pengguna mengakses Internet dengan cepat dan selamat. Untuk menyelesaikan masalah paparan halaman yang tidak normal atau ketidakupayaan untuk menggunakan fungsi secara normal, 360 Extreme Browser menyediakan fungsi mod keserasian untuk membolehkan pengguna menyemak imbas web dengan lebih baik. Jadi bagaimana untuk menetapkan mod keserasian penyemak imbas kelajuan 360? Jangan risau, editor akan membawakan anda tutorial tentang menyediakan mod keserasian 360 Extremely Fast Browser, saya harap ia dapat membantu anda. Bagaimana untuk menetapkan mod keserasian 360 Speed ​​​​Browser 1. Buka 360 ​​Speed ​​​​Browser yang dimuat turun dari tapak ini Selepas membuka perisian, klik ikon tiga bar mendatar di sudut kanan atas. 2. Klik [Settings] dalam pilihan pop timbul. 3. Klik dalam tetingkap tetapan 360 Speed ​​​​Browser yang dibuka

Bagaimana untuk menyediakan tapak yang dipercayai dalam Windows 11_Cara menambah tapak yang dipercayai dalam IE dalam Windows 11 Bagaimana untuk menyediakan tapak yang dipercayai dalam Windows 11_Cara menambah tapak yang dipercayai dalam IE dalam Windows 11 May 08, 2024 pm 01:11 PM

1. Mula-mula, kami membuka pelayar IE dalam sistem kami, cari butang berbentuk gear di penjuru kanan sebelah atas, dan klik padanya. 2. Selepas mengkliknya, anda akan melihat menu lungsur turun, cari dan klik [Tetapan Paparan Keserasian] 4. Kemudian masukkan URL yang perlu ditambah dalam Tambah tapak web ini, dan kemudian klik [Tambah] di sebelah kanan.

Mengapakah peristiwa klik dalam js tidak boleh dilaksanakan berulang kali? Mengapakah peristiwa klik dalam js tidak boleh dilaksanakan berulang kali? May 07, 2024 pm 06:36 PM

Acara klik dalam JavaScript tidak boleh dilaksanakan berulang kali kerana mekanisme menggelegak acara. Untuk menyelesaikan masalah ini, anda boleh mengambil langkah berikut: Gunakan tangkapan peristiwa: Tentukan pendengar acara untuk dicetuskan sebelum acara berbuih. Menyerahkan acara: Gunakan event.stopPropagation() untuk menghentikan acara menggelegak. Gunakan pemasa: cetuskan pendengar acara sekali lagi selepas beberapa ketika.

Mengapakah peristiwa menggelegak dicetuskan dua kali? Mengapakah peristiwa menggelegak dicetuskan dua kali? Feb 22, 2024 am 09:06 AM

Mengapakah peristiwa menggelegak dicetuskan dua kali? Peristiwa menggelegak (Event Bubbling) bermaksud bahawa dalam DOM, apabila elemen mencetuskan acara (seperti acara klik), acara itu akan menggelegak daripada elemen ke elemen induk sehingga ia menggelembung ke objek dokumen peringkat atas. Acara menggelegak ialah sebahagian daripada model acara DOM, yang membolehkan pembangun mengikat pendengar acara kepada elemen induk, supaya apabila elemen anak mencetuskan peristiwa, peristiwa itu boleh ditangkap dan diproses melalui mekanisme menggelegak. Walau bagaimanapun, kadangkala pembangun menghadapi peristiwa yang menggelembung dan mencetuskan dua kali.

Bagaimana untuk mematikan iklan dalam pelayar edge? Pengenalan kepada cara mematikan iklan dalam pelayar edge Bagaimana untuk mematikan iklan dalam pelayar edge? Pengenalan kepada cara mematikan iklan dalam pelayar edge Mar 14, 2024 pm 03:49 PM

Pelayar tepi kini merupakan alat penyemak imbas yang dipasang pada sistem Windows Ramai pengguna mendapati bahawa banyak pop timbul pengiklanan muncul apabila menggunakannya Tutorial ada di sini untuk menjawab soalan untuk majoriti pengguna Seterusnya, mari kita lihat langkah terperinci. Pengenalan kepada cara untuk mematikan iklan penyemak imbas tepi: 1. Masukkan perisian, klik ikon tiga titik di sebelah kanan bahagian atas halaman dan pilih "Tetapan" dalam menu pilihan lungsur. 2. Dalam antara muka baharu, klik "Lanjutan" dan kemudian cari "Gunakan" di bawah "Tetapan Laman Web"

Bagaimana untuk menetapkan mod keserasian dalam pelayar tepi? Di mana untuk menetapkan tetapan keserasian penyemak imbas tepi? Bagaimana untuk menetapkan mod keserasian dalam pelayar tepi? Di mana untuk menetapkan tetapan keserasian penyemak imbas tepi? Apr 15, 2024 pm 02:46 PM

Pelayar tepi ialah perisian penyemak imbas yang suka digunakan oleh ramai pengguna. Ia mempunyai antara muka yang ringkas tetapi fungsi yang lengkap Sesetengah orang baru ingin menetapkan mod keserasian untuk versi baharu pelayar tepi. Tutorial ini akan memberi anda tutorial operasi terperinci, saya harap ia berguna kepada semua orang. Tetapan mod keserasian pelayar tepi 1. Klik menu mula di sudut kiri bawah komputer dan pilih penyemak imbas Microsoft Edge. 2. Selepas membuka pelayar Edge, klik ikon “…” di penjuru kanan sebelah atas. 3. Klik pilihan "Buka dengan Internet Explorer" dalam pilihan pop timbul. 4. Buka IE untuk menyemak imbas

Apakah senario yang boleh digunakan untuk pengubah suai peristiwa dalam vue? Apakah senario yang boleh digunakan untuk pengubah suai peristiwa dalam vue? May 09, 2024 pm 02:33 PM

Pengubah suai acara Vue.js digunakan untuk menambah gelagat tertentu, termasuk: menghalang gelagat lalai (.prevent) menghentikan acara menggelegak (.stop) acara sekali (.sekali) menangkap acara (.capture) mendengar acara pasif (.pasif) Suai pengubah suai (.self)Pengubah suai kunci (.key)

See all articles