Rumah >hujung hadapan web >tutorial js >Mengapa Fungsi JavaScript Saya Tidak Berfungsi Apabila Pautan Diklik?

Mengapa Fungsi JavaScript Saya Tidak Berfungsi Apabila Pautan Diklik?

Linda Hamilton
Linda Hamiltonasal
2025-01-02 13:30:39895semak imbas

Why Doesn't My JavaScript Function Work When a Link is Clicked?

Fungsi JavaScript tidak berfungsi apabila pautan diklik

Isu ini timbul apabila atribut acara sebaris (onclick) digunakan dalam HTML elemen hiperpautan.

Punca dan Penyelesaian:

  1. Kurungan Invokasi Fungsi Hilang:

    Kod asal tersalah meninggalkan kurungan selepas nama fungsi dalam atribut acara sebaris :

    <a href="" onclick='getContent()'> LoremIpsum</a>

    Ini harus diperbetulkan kepada:

    <a href="" onclick='getContent()'> LoremIpsum</a>
  2. Pelanggaran Pemisahan Kebimbangan:

    Menggunakan atribut acara sebaris mengaburkan garis antara HTML dan JavaScript, menjadikan kod lebih sukar untuk mengekalkan.

    Sebaliknya, pisahkan kebimbangan dengan mengalihkan logik pengendalian acara kepada pendengar acara dilampirkan menggunakan addEventListener():

    var btn = document.getElementById("btnChangeSrc");
    btn.addEventListener("click", getContent);
  3. Atribut Href Kosong:

    Apabila menggunakan hiperpautan semata-mata untuk mencetuskan acara tanpa navigasi, atribut href harus diberikan nilai # untuk menghalang penyemak imbas lalai tingkah laku:

    <a href="#" onclick='getContent()'> LoremIpsum</a>

Alternatif kepada Hiperpautan untuk Kelakuan Seperti Butang:

Selain itu, pertimbangkan untuk menggantikan hiperpautan dengan elemen butang yang ditetapkan untuk kebolehcapaian dan fleksibiliti yang dipertingkatkan:

<button>

Atas ialah kandungan terperinci Mengapa Fungsi JavaScript Saya Tidak Berfungsi Apabila Pautan Diklik?. 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