Rumah >hujung hadapan web >tutorial js >Mengapa `onclick='clear()'` Tidak Berfungsi dalam JavaScript?

Mengapa `onclick='clear()'` Tidak Berfungsi dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-24 21:12:121008semak imbas

Why Doesn't `onclick=

onclick="clear()" Tidak Berfungsi: Memahami Halangan JavaScript

Dalam percubaan untuk mencipta kalkulator asas, seseorang menghadapi isu yang membingungkan: "jelas butang ", yang diberikan dengan atribut onclick="clear()", gagal melaksanakan fungsi yang dimaksudkan untuk mengosongkan teks medan.

Enigma terletak dalam atribut peristiwa intrinsik JavaScript, seperti onclick. Atribut ini menggunakan pernyataan dengan, amalan yang tidak digalakkan kerana potensinya untuk kekeliruan dan kebimbangan keserasian. Akibatnya, atribut onclick="clear()" secara tidak sengaja memanggil document.clear() dan bukannya fungsi global yang dimaksudkan clear().

Untuk menyelesaikan isu ini, seseorang boleh menamakan semula fungsi clear atau memanggil tetingkap secara eksplisit. jelas(). Walau bagaimanapun, penyelesaian terbaik ialah menggunakan addEventListener untuk mengikat peristiwa, yang mengelakkan penggunaan atribut peristiwa intrinsik.

Sampel kod berikut menunjukkan pelaksanaan yang betul menggunakan addEventListener:

<script>
  const clearButton = document.querySelector('input[value="C"]');
  clearButton.addEventListener('click', clear);

  function clear() {
    document.getElementById("field").value = "";
  }
</script>

Atas ialah kandungan terperinci Mengapa `onclick='clear()'` Tidak Berfungsi 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