Javascript menambahkan pendengar acara tidak berfungsi

Ini dilakukan di codepen jadi saya tidak menyertakan dan memberi tag, tetapi masalahnya adalah saya tidak mendapatkan pesan pernyataan pengembalian ketika saya mengklik tombol

submit

body{ margin:0; padding:0; font-family:sans-serif; } button{ font-size:40px; text-transform:uppercase; font-weight:700; background:none; outline:none; } .butt{ display:flex; justify-content:center; align-items:center; height:120vh; } const bu = document.querySelector('.bu'); bu = window.addEventListener('click',() => { return 'Yes'; });

Metode removeEventListener()_ dari antarmuka EventTarget menghapus event listener yang sebelumnya terdaftar dengan EventTarget.addEventListener() dari target. Pendengar acara yang akan dihapus diidentifikasi menggunakan kombinasi jenis acara, fungsi pendengar acara itu sendiri, dan berbagai opsi opsional yang dapat memengaruhi proses pencocokan;

Memanggil removeEventListener() dengan argumen yang tidak mengidentifikasi siapa pun yang saat ini terdaftar di EventTarget tidak berpengaruh

Jika dihapus dari EventTarget sementara pendengar lain dari target sedang memproses suatu peristiwa, itu tidak akan dipicu oleh peristiwa tersebut. Namun, itu dapat disambungkan kembali

Peringatan. Jika pendengar terdaftar dua kali, satu dengan tanda tangkap dan satu tanpa, Anda harus menghapus masing-masing secara terpisah. Penghapusan pendengar yang menangkap tidak memengaruhi versi pendengar yang sama yang tidak menangkap, dan sebaliknya

Pendengar acara juga dapat dihapus dengan meneruskan element.addEventListener("mousedown", handleMouseDown, true); 2 ke element.addEventListener("mousedown", handleMouseDown, true); 3 dan kemudian memanggil element.addEventListener("mousedown", handleMouseDown, true); 4 pada pengontrol yang memiliki sinyal

removeEventListener(type, listener) removeEventListener(type, listener, options) removeEventListener(type, listener, useCapture) _

element.addEventListener("mousedown", handleMouseDown, true); _5

Sebuah string yang menentukan jenis acara yang akan menghapus pendengar acara

element.addEventListener("mousedown", handleMouseDown, true); _6

Fungsi event handler untuk menghapus dari target event

element.addEventListener("mousedown", handleMouseDown, true); 7 Opsional

Objek pilihan yang menentukan karakteristik tentang event listener

Pilihan yang tersedia adalah

  • element.addEventListener("mousedown", handleMouseDown, true); _8. Nilai boolean yang menentukan apakah yang akan dihapus terdaftar sebagai pendengar penangkap atau tidak. Jika parameter ini tidak ada, nilai default element.addEventListener("mousedown", handleMouseDown, true); 9 diasumsikan
element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds 0 Opsional

Nilai boolean yang menentukan apakah yang akan dihapus terdaftar sebagai pendengar penangkap atau tidak. Jika parameter ini tidak ada, nilai default element.addEventListener("mousedown", handleMouseDown, true); 9 diasumsikan

Tidak ada

Mengingat pendengar acara yang sebelumnya ditambahkan dengan memanggil element.addEventListener("mousedown", handleMouseDown, true); 3, Anda mungkin akhirnya sampai pada titik di mana Anda harus menghapusnya. Jelas, Anda perlu menentukan parameter element.addEventListener("mousedown", handleMouseDown, true); _5 dan element.addEventListener("mousedown", handleMouseDown, true); 6 yang sama ke removeEventListener(). Tapi bagaimana dengan parameter element.addEventListener("mousedown", handleMouseDown, true); _7 atau element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds 0?

Meskipun element.addEventListener("mousedown", handleMouseDown, true); _3 memungkinkan Anda menambahkan pendengar yang sama lebih dari sekali untuk jenis yang sama jika opsinya berbeda, satu-satunya opsi yang diperiksa removeEventListener() adalah bendera element.addEventListener("mousedown", handleMouseDown, true); 8/element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds 0. Nilainya harus cocok dengan removeEventListener() agar cocok, tetapi nilai lainnya tidak

Misalnya, pertimbangkan panggilan ini ke element.addEventListener("mousedown", handleMouseDown, true); 3

element.addEventListener("mousedown", handleMouseDown, true); _

Sekarang pertimbangkan masing-masing dari dua panggilan ini ke removeEventListener()

element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds

Panggilan pertama gagal karena nilai element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds 0 tidak cocok. Yang kedua berhasil, karena element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds _0 cocok

Sekarang pertimbangkan ini

element.addEventListener("mousedown", handleMouseDown, { passive: true });

Di sini, kami menentukan objek element.addEventListener("mousedown", handleMouseDown, true); 7 di mana element.addEventListener("mousedown", handleMouseDown, { passive: true }); 8 diatur ke element.addEventListener("mousedown", handleMouseDown, { passive: true }); 9, sedangkan opsi lainnya dibiarkan dengan nilai default element.addEventListener("mousedown", handleMouseDown, true); 9

Sekarang lihat masing-masing panggilan ini ke removeEventListener() secara bergantian. Salah satu dari mereka di mana element.addEventListener("mousedown", handleMouseDown, true); 8 atau element.removeEventListener("mousedown", handleMouseDown, false); // Fails element.removeEventListener("mousedown", handleMouseDown, true); // Succeeds 0 adalah element.addEventListener("mousedown", handleMouseDown, { passive: true }); 9 gagal;

Hanya setelan element.addEventListener("mousedown", handleMouseDown, true); _8 yang penting bagi removeEventListener()

element.removeEventListener("mousedown", handleMouseDown, { passive: true }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, { capture: false }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, { capture: true }); // Fails element.removeEventListener("mousedown", handleMouseDown, { passive: false }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, false); // Succeeds element.removeEventListener("mousedown", handleMouseDown, true); // Fails

Perlu dicatat bahwa beberapa rilis browser tidak konsisten dalam hal ini, dan kecuali Anda memiliki alasan khusus sebaliknya, sebaiknya gunakan nilai yang sama yang digunakan untuk panggilan ke element.addEventListener("mousedown", handleMouseDown, true); 3 saat memanggil removeEventListener()

Contoh ini menunjukkan cara menambahkan event listener berbasis element.removeEventListener("mousedown", handleMouseDown, { passive: true }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, { capture: false }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, { capture: true }); // Fails element.removeEventListener("mousedown", handleMouseDown, { passive: false }); // Succeeds element.removeEventListener("mousedown", handleMouseDown, false); // Succeeds element.removeEventListener("mousedown", handleMouseDown, true); // Fails _9 yang menghapus event listener berbasis const body = document.querySelector('body') const clickTarget = document.getElementById('click-target') const mouseOverTarget = document.getElementById('mouse-over-target') let toggle = false; function makeBackgroundYellow() { body.style.backgroundColor = toggle ? 'white' : 'yellow'; toggle = !toggle; } clickTarget.addEventListener('click', makeBackgroundYellow, false ); mouseOverTarget.addEventListener('mouseover', () => { clickTarget.removeEventListener('click', makeBackgroundYellow, false ); }); 0

Mengapa add event listener saya tidak berfungsi?

Jika pendengar acara Anda tidak berfungsi bergantung pada beberapa logika, apakah itu tentang elemen mana yang akan didengarkan atau jika terdaftar sama sekali, langkah pertama adalah memeriksanya . Menggunakan breakpoint di alat pengembang, logpoint, atau konsol. . Using a breakpoint in the developer tools , a logpoint or console.

Bagaimana menambahkan pendengar acara bekerja di JavaScript?

Metode addEventListener() bekerja dengan menambahkan sebuah fungsi, atau objek yang mengimplementasikan EventListener , ke daftar event listener untuk tipe event yang ditentukan pada EventTarget yang disebutnya . .

Bisakah saya menggunakan add event listener?

Anda dapat menambahkan event listener ke objek DOM apa pun, tidak hanya elemen HTML . Saya. e objek jendela. Metode addEventListener() memudahkan untuk mengontrol bagaimana peristiwa bereaksi terhadap gelembung.

Manakah metode yang benar untuk menambahkan pendengar acara?

Metode addEventListener() menempelkan event handler ke dokumen

Postingan terbaru

LIHAT SEMUA