Rumah hujung hadapan web tutorial js Kes aplikasi praktikal menggelegak acara dan menangkap peristiwa dalam pembangunan bahagian hadapan

Kes aplikasi praktikal menggelegak acara dan menangkap peristiwa dalam pembangunan bahagian hadapan

Jan 13, 2024 pm 01:06 PM
Acara menggelegak Pembangunan bahagian hadapan tangkapan acara

Kes aplikasi praktikal menggelegak acara dan menangkap peristiwa dalam pembangunan bahagian hadapan

Aplikasi kes menggelegak acara dan menangkap acara dalam pembangunan bahagian hadapan

Mengelegak acara dan menangkap acara ialah dua mekanisme penyampaian acara yang sering digunakan dalam pembangunan bahagian hadapan. Dengan memahami dan menggunakan kedua-dua mekanisme ini, kami boleh mengendalikan gelagat interaktif dalam halaman dengan lebih fleksibel dan meningkatkan pengalaman pengguna. Artikel ini akan memperkenalkan konsep menggelegak acara dan menangkap peristiwa, dan menggabungkannya dengan contoh kod khusus untuk menunjukkan kes aplikasinya dalam pembangunan bahagian hadapan.

1. Konsep acara menggelegak dan menangkap peristiwa

  1. Event menggelegak

Event menggelegak bermaksud bahawa selepas sesuatu peristiwa elemen dicetuskan, acara itu akan menggelegak dan meneruskannya ke elemen induk, sehingga diserahkan kepada elemen akar dokumen (dokumen). Dalam erti kata lain, jika elemen mencetuskan peristiwa, peristiwa itu akan diproses dalam elemen induk elemen, elemen induk unsur induk dan sehingga ke elemen akar dokumen.

  1. Event Capturing

Event Capturing hanyalah bertentangan dengan event bubbling Ia merujuk kepada menangkap peristiwa bermula dari elemen akar dokumen dan bergerak ke bawah sehingga elemen yang mencetuskan acara. Dalam erti kata lain, apabila elemen mencetuskan peristiwa, peristiwa itu akan ditangkap bermula dari elemen akar dokumen dan kemudian dihantar ke tahap di mana elemen itu berada.

2. Kes aplikasi menggelegak acara dan menangkap acara

  1. Delegasi Acara

Delegasi acara ialah acara yang mewakilkan acara kepada elemen keturunannya dengan mengikat pendengar acara kepada elemen induk. Dengan mengikat pendengar acara kepada elemen induk, kami tidak perlu menambah pendengar berasingan untuk setiap elemen keturunan, sekali gus meningkatkan prestasi dan kebolehselenggaraan kod. Di bawah mekanisme menggelegak acara, kami boleh memintas semua peristiwa yang dicetuskan dan melakukan pemprosesan khusus berdasarkan sumber pencetus yang berbeza.

Struktur HTML adalah seperti berikut:

<div id="parent">
  <button>按钮1</button>
  <button>按钮2</button>
  <button>按钮3</button>
</div>
Salin selepas log masuk

Kod JavaScript adalah seperti berikut:

var parent = document.getElementById('parent');

parent.addEventListener('click', function(e) {
  if (e.target.nodeName === 'BUTTON') {
    console.log('你点击了按钮', e.target.innerHTML);
  }
});
Salin selepas log masuk

Dalam kod di atas, kami mengikat acara klik pada elemen induk #parent</ kod> Pendengar, apabila butang diklik, acara akan menggelembung ke elemen induk dan mencetuskan fungsi panggil balik acara <code>klik. Menggunakan atribut target objek acara (e), kita boleh mendapatkan elemen sumber pencetus dan memprosesnya dengan sewajarnya. #parent绑定了click事件监听器,当点击按钮时,事件将冒泡至父元素,并触发click事件的回调函数。利用事件对象(e)的target属性,我们可以获取到触发源元素,并进行相应的处理。

  1. 事件代理(Event Proxy)

事件代理是一种通过在冒泡或捕获阶段内截获事件,并根据条件来阻止或修改事件的传递或处理过程。在事件捕获的机制下,我们可以在某一特定层级上截获事件,并做出相应的处理。

HTML结构如下所示:

<div id="container">
  <div id="box1"></div>
  <div id="box2">
    <button>按钮</button>
  </div>
</div>
Salin selepas log masuk

JavaScript代码如下所示:

var container = document.getElementById('container');

container.addEventListener('click', function(e) {
  if (e.target.nodeName === 'BUTTON') {
    console.log('你点击了按钮');
    e.stopPropagation();
  }
});
Salin selepas log masuk

上述代码中,我们通过对容器元素#container绑定了click事件监听器。当点击按钮时,事件将进行捕获阶段,委托的事件处理程序将拦截并处理该事件。通过调用事件对象(e)的stopPropagation()

Proksi Acara

Proksi Acara ialah proses yang memintas peristiwa semasa fasa menggelegak atau menangkap dan menyekat atau mengubah suai penghantaran atau pemprosesan acara berdasarkan syarat. Di bawah mekanisme penangkapan peristiwa, kita boleh memintas peristiwa pada tahap tertentu dan memprosesnya dengan sewajarnya. 🎜🎜Struktur HTML adalah seperti berikut: 🎜rrreee🎜Kod JavaScript adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami mengikat acara klik pada elemen kontena #container kod> pendengar. Apabila butang diklik, acara akan melalui fasa tangkapan dan pengendali acara yang diwakilkan memintas dan mengendalikan acara tersebut. Dengan memanggil kaedah <code>stopPropagation() objek acara (e), kita boleh menghalang acara daripada menggelegak ke atas. 🎜🎜3. Ringkasan🎜🎜Acara menggelegak dan menangkap acara adalah konsep yang sangat penting dalam pembangunan bahagian hadapan. Melalui pengenalan dua kes aplikasi dan contoh kod khusus perwakilan acara dan proksi acara, kami boleh memahami dan menggunakan kedua-dua mekanisme ini dengan lebih mendalam serta meningkatkan prestasi dan kebolehselenggaraan kod tersebut. Dalam projek sebenar, kami boleh memilih mekanisme penyampaian acara yang sesuai berdasarkan keperluan dan senario khusus untuk mencapai pengalaman pengguna yang lebih baik. 🎜

Atas ialah kandungan terperinci Kes aplikasi praktikal menggelegak acara dan menangkap peristiwa dalam pembangunan bahagian hadapan. 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
1 bulan 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)

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.

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.

Sebab dan penyelesaian untuk kegagalan jQuery .val(). Sebab dan penyelesaian untuk kegagalan jQuery .val(). Feb 20, 2024 am 09:06 AM

Tajuk: Sebab dan penyelesaian untuk kegagalan jQuery.val() Dalam pembangunan bahagian hadapan, jQuery sering digunakan untuk mengendalikan elemen DOM Kaedah .val() digunakan secara meluas untuk mendapatkan dan menetapkan nilai elemen bentuk. Walau bagaimanapun, kadangkala kita menghadapi situasi di mana kaedah .val() gagal, mengakibatkan ketidakupayaan untuk mendapatkan atau menetapkan nilai elemen borang dengan betul. Artikel ini akan meneroka punca kegagalan .val(), menyediakan penyelesaian yang sepadan dan melampirkan contoh kod tertentu. 1.Kaedah analisis sebab.val().

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)

Mengapakah mekanisme menggelegak peristiwa mencetuskan dua kali? Mengapakah mekanisme menggelegak peristiwa mencetuskan dua kali? Feb 25, 2024 am 09:24 AM

Mengapakah peristiwa menggelegak berlaku dua kali berturut-turut? Peristiwa menggelegak ialah konsep penting dalam pembangunan web Ini bermakna apabila peristiwa dicetuskan dalam elemen HTML bersarang, acara itu akan menggelegak daripada elemen paling dalam kepada elemen paling luar. Proses ini kadangkala boleh menyebabkan kekeliruan Satu masalah biasa ialah peristiwa menggelegak berlaku dua kali berturut-turut. Untuk lebih memahami mengapa peristiwa menggelegak berlaku dua kali berturut-turut, mari kita lihat contoh kod dahulu:

Acara JS mana yang tidak muncul? Acara JS mana yang tidak muncul? Feb 19, 2024 pm 09:56 PM

Apakah situasi dalam acara JS yang tidak akan timbul? Peristiwa menggelegak (Event Bubbling) bermaksud bahawa selepas peristiwa dicetuskan pada elemen tertentu, peristiwa itu akan dihantar ke atas di sepanjang pepohon DOM bermula dari elemen paling dalam ke elemen paling luar Kaedah penghantaran ini dipanggil acara menggelegak. Walau bagaimanapun, tidak semua acara boleh menggelegak. Terdapat beberapa kes khas di mana acara tidak akan muncul. Artikel ini akan memperkenalkan situasi dalam JavaScript di mana acara tidak akan muncul. 1. Gunakan stopPropagati

Apakah peristiwa menggelegak? Analisis mendalam tentang mekanisme menggelegak peristiwa Apakah peristiwa menggelegak? Analisis mendalam tentang mekanisme menggelegak peristiwa Feb 20, 2024 pm 05:27 PM

Apakah peristiwa menggelegak? Analisis mendalam tentang mekanisme menggelegak acara Acara menggelegak ialah konsep penting dalam pembangunan web, yang mentakrifkan cara acara disampaikan pada halaman. Apabila peristiwa pada elemen dicetuskan, peristiwa itu akan dihantar bermula dari elemen paling dalam dan diteruskan ke luar sehingga ia dihantar ke elemen paling luar. Kaedah penyampaian ini adalah seperti buih yang menggelegak di dalam air, maka ia dipanggil peristiwa menggelegak. Dalam artikel ini, kami akan menganalisis mekanisme peristiwa menggelegak secara mendalam. Prinsip acara menggelegak boleh difahami melalui contoh mudah. Katakan kita mempunyai H

Perbezaan dan perkaitan antara pembangunan front-end dan back-end Perbezaan dan perkaitan antara pembangunan front-end dan back-end Mar 26, 2024 am 09:24 AM

Pembangunan bahagian hadapan dan bahagian belakang adalah dua aspek penting untuk membina aplikasi web yang lengkap Terdapat perbezaan yang jelas antara mereka, tetapi ia berkait rapat. Artikel ini akan menganalisis perbezaan dan perkaitan antara pembangunan front-end dan back-end. Mula-mula, mari kita lihat definisi dan tugas khusus pembangunan bahagian hadapan dan pembangunan bahagian belakang. Pembangunan bahagian hadapan bertanggungjawab terutamanya untuk membina antara muka pengguna dan bahagian interaksi pengguna, iaitu, perkara yang dilihat dan dikendalikan oleh pengguna dalam penyemak imbas. Pembangun bahagian hadapan biasanya menggunakan teknologi seperti HTML, CSS dan JavaScript untuk melaksanakan reka bentuk dan kefungsian halaman web

See all articles