Kod JavaScript Tidak Berjalan pada JSFiddle.net
Anda telah menghadapi masalah apabila kod JavaScript anda berfungsi dengan lancar pada tapak langsung tetapi gagal untuk dilaksanakan pada JSFiddle.net. Ini berkemungkinan disebabkan oleh isu skop.
Kelas BetterSelect dan kaedahnya ditakrifkan dalam fungsi window.onload. Ini bermakna ia hanya boleh diakses dalam skop fungsi itu dan tidak boleh dirujuk secara global seperti yang anda lakukan dalam penanda HTML.
Untuk menyelesaikan isu ini, anda mempunyai beberapa pilihan:
Pilihan A: Tukar fungsi kepada pembolehubah global
window.BetterSelect = function(oSelList) {...}; window.fillList = function() {...}; window.findIt = function() {...};
Pilihan B: Laksanakan JavaScript yang tidak mengganggu
Asingkan HTML anda daripada JavaScript dengan melampirkan pengendali acara pada DOM elemen secara dinamik daripada kod JS. Ini akan menghalang keperluan untuk rujukan terus kepada fungsi dalam HTML.
Pilihan C: Lumpuhkan ciri bungkus-onload JSFiddle
Tukar tetapan 'Balut' dalam JSFiddle kepada 'Tiada balut (kepala)' atau 'Tiada balut (badan)'.
Cadangan:
Pilihan B ialah pendekatan yang disyorkan kerana ia mematuhi amalan terbaik dengan mengasingkan HTML dan JavaScript. Ia juga meningkatkan kebolehselenggaraan kod dan membolehkan pelaksanaan pengubahsuaian selanjutnya dengan lebih mudah.
Atas ialah kandungan terperinci Mengapa Kod JavaScript Saya Tidak Berfungsi di JSFiddle.net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!