cari
Rumahhujung hadapan webtutorial jsPendengar Acara & Acara dalam JavaScript

Ketika saya menghampiri penghujung fasa pertama saya dalam program Sekolah Flatiron saya, saya telah mempelajari asas pengaturcaraan dalam JavaScript. Tetapi dalam catatan blog ini, saya akan membincangkan pengalaman saya dengan subjek kegemaran saya lagi: Acara dan Pendengar Acara.

JavaScript boleh mendengar perkara tertentu yang boleh berlaku dalam penyemak imbas yang sedang anda kerjakan. Terdapat banyak perkara yang boleh didengari oleh JS. Beberapa contoh termasuk penekan kekunci, klik tetikus dan penyerahan borang, hanya untuk menamakan beberapa yang paling banyak digunakan. Ia juga berfungsi sebagai cara terbaik untuk melaksanakan interaksi tak segerak, keupayaan halaman untuk bertindak balas kepada input pengguna tanpa mengganggu proses atau memuat semula halaman. Ini penting untuk fungsi apl web, di mana ciri seperti itu dijangkakan. Perkara yang paling saya sukai tentang acara ialah fakta bahawa ia boleh menambahkan banyak interaktiviti pada projek web yang sedang anda usahakan.

Pendengar acara ialah fungsi JavaScript yang menunggu acara tertentu berlaku pada elemen tertentu. Setelah peristiwa dicetuskan, pendengar acara akan melaksanakan blok kod tertentu (biasanya dipanggil fungsi panggil balik). Cara paling biasa untuk melampirkan pendengar acara pada elemen ialah menggunakan kaedah addEventListener.

Saya akan menggunakan contoh peribadi yang sedang saya gunakan dalam projek akhir fasa saya. Untuk projek saya, saya telah mencipta apl web ringkas yang mengambil maklumat daripada API dan memaparkannya pada halaman web dengan elemen interaktif.

Saya memutuskan untuk menggunakan API Amiibo percuma untuk mencipta apl web yang boleh menapis semua Yoshi Amiibos yang dibuat sepanjang tahun. Saya suka idea menggunakan API ini, memandangkan Yoshi ialah watak Nintendo kegemaran saya!

Berikut ialah contoh cara saya membuat menu lungsur turun ini yang membolehkan pengguna menapis melalui Yoshi Amiibos yang berbeza menggunakan pendengar acara!
Event & Event Listeners in JavaScript

Berikut ialah rupa kod saya untuk fungsi khusus ini

      const amiiboContainer = document.getElementById('amiibo-container');
      const amiiboDropdown = document.getElementById('amiiboDropdown');
      const amiibos = data.amiibo;

      // Create an array of names for the dropdown search
      const amiiboNames = amiibos.map(amiibo => amiibo.name);

      // Populate the dropdown with Amiibo names
      amiiboNames.forEach(name => {
        const option = document.createElement('option');
        option.value = name;
        option.textContent = name;
        amiiboDropdown.appendChild(option);
      });

      // Display all Amiibos initially
      displayAmiibos(amiibos);

      // Add an event listener to filter Amiibos when the dropdown value changes
      amiiboDropdown.addEventListener('change', (e) => {
        const selectedName = e.target.value;
        const filteredAmiibos = amiibos.filter(amiibo => amiibo.name === selectedName );
        displayAmiibos(filteredAmiibos);
      });
    })

Izinkan saya membimbing anda melalui perkara yang berlaku dalam blok kod ini.

Perkara pertama yang saya lakukan ialah mencipta tatasusunan untuk nama Yoshi Amiibo.

const amiiboNames = amiibos.map(amiibo => amiibo.name);

Baris ini mempunyai fungsi peta yang berulang melalui item yang disimpan dalam tatasusunan amiibos. Untuk setiap objek amiibo, ia akan mengambil sifat nama dan mengembalikan tatasusunan baharu dengan semua nama Amiibo.

Langkah seterusnya ialah mengisi menu lungsur dengan nama Amiibo.

amiiboNames.forEach(name => {
  const option = document.createElement('option');
  option.value = name;
  option.textContent = name;
  amiiboDropdown.appendChild(option);
});

Blok ini mencipta HTML

Untuk setiap nama, ia:

  1. Mencipta elemen pilihan baharu.
  2. Menetapkan atribut nilai pilihan kepada nama Amiibo.
  3. Menetapkan teks yang boleh dilihat (Kandungan teks) pilihan kepada nama Amiibo.
  4. Menambahkan elemen pilihan baharu kami pada menu lungsur (amiiboDropdown).

Selepas itu, saya memutuskan bahawa saya mahu semua Yoshi Amiibos dipaparkan pada mulanya sebelum menggunakan menu lungsur penapis.

      const amiiboContainer = document.getElementById('amiibo-container');
      const amiiboDropdown = document.getElementById('amiiboDropdown');
      const amiibos = data.amiibo;

      // Create an array of names for the dropdown search
      const amiiboNames = amiibos.map(amiibo => amiibo.name);

      // Populate the dropdown with Amiibo names
      amiiboNames.forEach(name => {
        const option = document.createElement('option');
        option.value = name;
        option.textContent = name;
        amiiboDropdown.appendChild(option);
      });

      // Display all Amiibos initially
      displayAmiibos(amiibos);

      // Add an event listener to filter Amiibos when the dropdown value changes
      amiiboDropdown.addEventListener('change', (e) => {
        const selectedName = e.target.value;
        const filteredAmiibos = amiibos.filter(amiibo => amiibo.name === selectedName );
        displayAmiibos(filteredAmiibos);
      });
    })

Saya mencipta fungsi ini untuk memaparkan semua Amiibos pada halaman apabila halaman dimuatkan. Perkara ini lakukan ialah menghantar keseluruhan tatasusunan amiibos ke dalam fungsi yang baru saya buat di atas.

Akhir sekali, saya terpaksa menyediakan pendengar acara untuk perubahan lungsur turun.

const amiiboNames = amiibos.map(amiibo => amiibo.name);

Ini adalah salah satu bahagian paling penting dalam kod dan merupakan pendengar acara bagi fungsi ini. Inilah yang membolehkan halaman menapis Amiibos yang dipaparkan pada halaman berdasarkan apa yang dipilih dalam menu lungsur turun.

Cara ini berfungsi ialah fungsi addEventListener() mendengar acara perubahan pada elemen amiiboDropdown (atau lungsur turun

Tertib ini berfungsi ialah:

  1. Pembolehubah selectedName akan menyimpan nilai sebarang pilihan yang dipilih dengan e.target.value
  2. Ia kemudiannya akan menapis tatasusunan amiibos untuk memastikan ia hanya akan menyertakan Yoshi Amiibo yang sepadan dengan Nama yang dipilih.
  3. Selepas menapis, tatasusunan Amiibos yang ditapis kemudiannya dihantar ke displayAmiibos(), yang kemudiannya akan mengemas kini UI dengan senarai ditapis Yoshi Amiibos.

Membungkus

Acara dan Pendengar Acara dalam JavaScript ialah beberapa perkara yang paling penting untuk diketahui semasa membangunkan apl web dengan interaktiviti. Mereka hebat kerana fakta itu sahaja; ia memberikan fungsi dan tujuan apl, sambil memberi pengguna peluang untuk pengalaman yang lancar.

Atas ialah kandungan terperinci Pendengar Acara & Acara dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?Jenis data JavaScript: Adakah terdapat perbezaan antara penyemak imbas dan nodej?May 14, 2025 am 12:15 AM

Jenis data teras JavaScript adalah konsisten dalam penyemak imbas dan node.js, tetapi ditangani secara berbeza dari jenis tambahan. 1) Objek global adalah tetingkap dalam penyemak imbas dan global di Node.js. 2) Objek penampan unik Node.js, digunakan untuk memproses data binari. 3) Terdapat juga perbezaan prestasi dan pemprosesan masa, dan kod perlu diselaraskan mengikut persekitaran.

Komen JavaScript: Panduan untuk menggunakan // dan / * * /Komen JavaScript: Panduan untuk menggunakan // dan / * * /May 13, 2025 pm 03:49 PM

JavaScriptusestWotypesofcomments: Single-line (//) danMulti-line (//)

Python vs JavaScript: Analisis Perbandingan untuk PemajuPython vs JavaScript: Analisis Perbandingan untuk PemajuMay 09, 2025 am 12:22 AM

Perbezaan utama antara Python dan JavaScript ialah sistem jenis dan senario aplikasi. 1. Python menggunakan jenis dinamik, sesuai untuk pengkomputeran saintifik dan analisis data. 2. JavaScript mengamalkan jenis yang lemah dan digunakan secara meluas dalam pembangunan depan dan stack penuh. Kedua -duanya mempunyai kelebihan mereka sendiri dalam pengaturcaraan dan pengoptimuman prestasi yang tidak segerak, dan harus diputuskan mengikut keperluan projek ketika memilih.

Python vs JavaScript: Memilih alat yang sesuai untuk pekerjaanPython vs JavaScript: Memilih alat yang sesuai untuk pekerjaanMay 08, 2025 am 12:10 AM

Sama ada untuk memilih Python atau JavaScript bergantung kepada jenis projek: 1) Pilih Python untuk Sains Data dan Tugas Automasi; 2) Pilih JavaScript untuk pembangunan front-end dan penuh. Python disukai untuk perpustakaannya yang kuat dalam pemprosesan data dan automasi, sementara JavaScript sangat diperlukan untuk kelebihannya dalam interaksi web dan pembangunan stack penuh.

Python dan javascript: memahami kekuatan masing -masingPython dan javascript: memahami kekuatan masing -masingMay 06, 2025 am 12:15 AM

Python dan JavaScript masing -masing mempunyai kelebihan mereka sendiri, dan pilihan bergantung kepada keperluan projek dan keutamaan peribadi. 1. Python mudah dipelajari, dengan sintaks ringkas, sesuai untuk sains data dan pembangunan back-end, tetapi mempunyai kelajuan pelaksanaan yang perlahan. 2. JavaScript berada di mana-mana dalam pembangunan front-end dan mempunyai keupayaan pengaturcaraan tak segerak yang kuat. Node.js menjadikannya sesuai untuk pembangunan penuh, tetapi sintaks mungkin rumit dan rawan kesilapan.

Inti JavaScript: Adakah ia dibina di atas C atau C?Inti JavaScript: Adakah ia dibina di atas C atau C?May 05, 2025 am 12:07 AM

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

Aplikasi JavaScript: Dari Front-End ke Back-EndAplikasi JavaScript: Dari Front-End ke Back-EndMay 04, 2025 am 12:12 AM

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Python vs JavaScript: Bahasa mana yang harus anda pelajari?Python vs JavaScript: Bahasa mana yang harus anda pelajari?May 03, 2025 am 12:10 AM

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

See all articles

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!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod