Rumah hujung hadapan web tutorial js Konsep dan fungsi acara menggelegak dan delegasi acara

Konsep dan fungsi acara menggelegak dan delegasi acara

Feb 18, 2024 am 11:31 AM
js Acara menggelegak acara klik delegasi acara

Konsep dan fungsi acara menggelegak dan delegasi acara

Apakah acara menggelegak dan delegasi acara JS? Artikel ini akan memperkenalkan kedua-dua konsep secara terperinci dan menyediakan contoh kod khusus untuk menerangkan prinsip penggunaan dan pelaksanaannya.

1. Acara menggelegak

Acara menggelegak bermakna apabila peristiwa (seperti peristiwa klik) berlaku pada elemen, jika elemen itu mentakrifkan pengendali acara, peristiwa itu akan dicetuskan terlebih dahulu, dan kemudian peristiwa itu akan disebarkan dari elemen semasa ke peringkat elemen induk mengikut tahap sehingga ia mencapai elemen akar dokumen.

Mekanisme menggelegak acara membolehkan kami menambahkan pengendali acara yang sama dengan mudah kepada berbilang elemen anak unsur induk tanpa perlu menentukan pengendali acara berasingan untuk setiap elemen anak. Ini memudahkan kod dan menjadikannya lebih boleh diselenggara.

Berikut ialah contoh kod acara menggelegak:

Kod HTML:

<div id="parent">
  <div id="child1">子元素1</div>
  <div id="child2">子元素2</div>
</div>
Salin selepas log masuk

Kod JS:

const parent = document.querySelector('#parent');
const child1 = document.querySelector('#child1');
const child2 = document.querySelector('#child2');

parent.addEventListener('click', function(event) {
  console.log('触发父元素的点击事件');
});

child1.addEventListener('click', function(event) {
  console.log('触发子元素1的点击事件');
  event.stopPropagation();
});

child2.addEventListener('click', function(event) {
  console.log('触发子元素2的点击事件');
  event.stopPropagation();
});
Salin selepas log masuk

Dalam kod di atas, apabila kita mengklik pada elemen kanak-kanak 1 atau elemen kanak-kanak 2, konsol akan mengeluarkan secara bergilir:

触发子元素1的点击事件
触发父元素的点击事件
Salin selepas log masuk

Pengendali acara elemen induk hanya akan dipecat apabila acara itu menggelegak ke elemen induk. Hentikan acara daripada menggelegak dengan menelefon

.

event.stopPropagation()2. Delegasi Acara

Delegasi acara merujuk kepada mengikat pengendali acara kepada elemen induk dan menentukan sama ada untuk melakukan operasi yang sepadan dengan menilai sasaran asal acara (event.target).

Kelebihan delegasi acara ialah apabila elemen anak baharu ditambahkan pada elemen induk, tidak perlu mengikat pengendali acara kepada elemen anak baharu secara berasingan, tetapi acara dikendalikan terus melalui elemen induk. Ini boleh mengurangkan bilangan pengendali acara dan meningkatkan prestasi.

Berikut ialah contoh kod delegasi acara:

Kod HTML:

<ul id="parent">
  <li>项目1</li>
  <li>项目2</li>
  <li>项目3</li>
</ul>
Salin selepas log masuk

Kod JS:

const parent = document.querySelector('#parent');

parent.addEventListener('click', function(event) {
  if (event.target.tagName === 'LI') {
    const textContent = event.target.textContent;
    console.log('点击了项目:' + textContent);
  }
});
Salin selepas log masuk

Dalam kod di atas, apabila kita mengklik mana-mana elemen li, konsol akan mengeluarkan teks kandungan item yang diklik . Tidak kira berapa banyak elemen li yang ditambahkan kemudiannya, peristiwa kliknya akan dikendalikan oleh elemen induk.

Prinsip delegasi acara dilaksanakan melalui acara menggelegak. Acara mula-mula menggelembung ke elemen induk, dan kemudian dinilai berdasarkan sasaran asal acara untuk menentukan sama ada tindakan yang sepadan perlu dilakukan.

Ringkasan:

Acara menggelegak dan delegasi acara ialah konsep penting yang berkaitan dengan pemprosesan acara dalam JS. Acara menggelegak membolehkan kami menambahkan pengendali acara yang sama dengan mudah kepada berbilang elemen anak unsur induk, meningkatkan kebolehgunaan semula kod delegasi acara mengikat pengendali acara kepada elemen induk, berdasarkan sasaran asal acara tersebut operasi yang sepadan, meningkatkan prestasi dan mengurangkan jumlah kod. Dalam pembangunan sebenar, anda boleh menulis kod yang elegan dan cekap dengan menggunakan acara menggelegak dan delegasi acara dengan sewajarnya mengikut keperluan anda.

Atas ialah kandungan terperinci Konsep dan fungsi acara menggelegak dan delegasi acara. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Bangunkan aplikasi desktop yang berkuasa dengan Golang Bangunkan aplikasi desktop yang berkuasa dengan Golang Mar 19, 2024 pm 05:45 PM

Gunakan Golang untuk membangunkan aplikasi desktop yang berkuasa Dengan pembangunan Internet yang berterusan, orang ramai menjadi tidak dapat dipisahkan daripada pelbagai jenis aplikasi desktop. Bagi pembangun, adalah penting untuk menggunakan bahasa pengaturcaraan yang cekap untuk membangunkan aplikasi desktop yang berkuasa. Artikel ini akan memperkenalkan cara menggunakan Golang (bahasa Go) untuk membangunkan aplikasi desktop yang berkuasa dan menyediakan beberapa contoh kod khusus. Golang ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Ia mempunyai ciri-ciri kesederhanaan, kecekapan, konkurensi yang kuat, dsb., dan sangat sesuai untuk

Bagaimana untuk menyediakan lompat pada halaman log masuk layui Bagaimana untuk menyediakan lompat pada halaman log masuk layui Apr 04, 2024 am 03:12 AM

Langkah penetapan lompat halaman log masuk Layui: Tambah kod lompat: Tambah pertimbangan dalam borang log masuk serah acara klik butang, dan lompat ke halaman yang ditentukan melalui window.location.href selepas berjaya log masuk. Ubah suai konfigurasi borang: tambah medan input tersembunyi pada elemen borang lay-filter="login", dengan nama "redirect" dan nilainya ialah alamat halaman sasaran.

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Apr 03, 2024 am 11:55 AM

Teknologi pengesanan dan pengecaman muka adalah teknologi yang agak matang dan digunakan secara meluas. Pada masa ini, bahasa aplikasi Internet yang paling banyak digunakan ialah JS Melaksanakan pengesanan muka dan pengecaman pada bahagian hadapan Web mempunyai kelebihan dan kekurangan berbanding dengan pengecaman muka bahagian belakang. Kelebihan termasuk mengurangkan interaksi rangkaian dan pengecaman masa nyata, yang sangat memendekkan masa menunggu pengguna dan meningkatkan pengalaman pengguna termasuk: terhad oleh saiz model, ketepatannya juga terhad. Bagaimana untuk menggunakan js untuk melaksanakan pengesanan muka di web? Untuk melaksanakan pengecaman muka di Web, anda perlu biasa dengan bahasa dan teknologi pengaturcaraan yang berkaitan, seperti JavaScript, HTML, CSS, WebRTC, dll. Pada masa yang sama, anda juga perlu menguasai visi komputer yang berkaitan dan teknologi kecerdasan buatan. Perlu diingat bahawa kerana reka bentuk bahagian Web

Cara menambah acara sentuhan pada gambar dalam vue Cara menambah acara sentuhan pada gambar dalam vue May 02, 2024 pm 10:21 PM

Bagaimana untuk menambah acara klik pada imej dalam Vue? Import contoh Vue. Buat contoh Vue. Tambahkan imej pada templat HTML. Tambahkan acara klik menggunakan arahan v-on:click. Tentukan kaedah handleClick dalam contoh Vue.

Pembangunan bahasa Hongmeng HarmonyOS dan Go Pembangunan bahasa Hongmeng HarmonyOS dan Go Apr 08, 2024 pm 04:48 PM

Pengenalan kepada pembangunan bahasa HarmonyOS dan Go HarmonyOS ialah sistem pengendalian teragih yang dibangunkan oleh Huawei, dan Go ialah bahasa pengaturcaraan moden Gabungan kedua-duanya menyediakan penyelesaian yang berkuasa untuk membangunkan aplikasi teragih. Artikel ini akan memperkenalkan cara menggunakan bahasa Go untuk pembangunan dalam HarmonyOS dan mendalami pemahaman melalui kes praktikal. Pemasangan dan Persediaan Untuk menggunakan bahasa Go untuk membangunkan aplikasi HarmonyOS, anda perlu memasang GoSDK dan HarmonyOSSDK terlebih dahulu. Langkah-langkah khusus adalah seperti berikut: #Install GoSDKgogetgithub.com/golang/go#Set PATH

Petua PHP: Cepat Laksanakan Kembali ke Fungsi Halaman Sebelumnya Petua PHP: Cepat Laksanakan Kembali ke Fungsi Halaman Sebelumnya Mar 09, 2024 am 08:21 AM

Tip PHP: Cepat melaksanakan fungsi kembali ke halaman sebelumnya Dalam pembangunan web, kita sering menghadapi keperluan untuk melaksanakan fungsi kembali ke halaman sebelumnya. Operasi sedemikian boleh meningkatkan pengalaman pengguna dan memudahkan pengguna menavigasi antara halaman web. Dalam PHP, kita boleh mencapai fungsi ini melalui beberapa kod mudah. Artikel ini akan memperkenalkan cara cepat melaksanakan fungsi kembali ke halaman sebelumnya dan memberikan contoh kod PHP tertentu. Dalam PHP, kita boleh menggunakan $_SERVER['HTTP_REFERER'] untuk mendapatkan URL halaman sebelumnya

Apakah mekanisme dipacu peristiwa bagi fungsi C++ dalam pengaturcaraan serentak? Apakah mekanisme dipacu peristiwa bagi fungsi C++ dalam pengaturcaraan serentak? Apr 26, 2024 pm 02:15 PM

Mekanisme dipacu peristiwa dalam pengaturcaraan serentak bertindak balas kepada peristiwa luaran dengan melaksanakan fungsi panggil balik apabila peristiwa berlaku. Dalam C++, mekanisme dipacu peristiwa boleh dilaksanakan dengan penunjuk fungsi: penunjuk fungsi boleh mendaftarkan fungsi panggil balik untuk dilaksanakan apabila peristiwa berlaku. Ungkapan Lambda juga boleh melaksanakan panggilan balik acara, membenarkan penciptaan objek fungsi tanpa nama. Kes sebenar menggunakan penunjuk fungsi untuk melaksanakan peristiwa klik butang GUI, memanggil fungsi panggil balik dan mencetak mesej apabila peristiwa itu berlaku.

Apr 09, 2024 pm 12:45 PM

Jawapan: JavaScript menyediakan pelbagai kaedah untuk mendapatkan elemen halaman web, termasuk menggunakan id, nama teg, nama kelas dan pemilih CSS. Penerangan terperinci: getElementById(id): Dapatkan elemen berdasarkan id unik. getElementsByTagName(tag): Mendapatkan kumpulan elemen dengan nama tag yang ditentukan. getElementsByClassName(class): Mendapatkan kumpulan elemen dengan nama kelas yang ditentukan. querySelector(selector): Gunakan pemilih CSS untuk mendapatkan elemen padanan pertama. querySelectorAll(selector): Dapatkan semua padanan menggunakan pemilih CSS

See all articles