Ralat "javascript:void(0)" berlaku apabila menghantar nama fungsi sebagai rentetan, dan sebabnya ialah enjin JavaScript mentafsirkannya sebagai pernyataan dan bukannya nama fungsi. Petua perbaiki termasuk: 1. Gunakan Literal Templat 2. Gunakan fungsi anak panah 3. Gunakan kaedah bind(). Kaedah ini membolehkan anda mengelakkan ralat semasa menghantar nama fungsi.
Petua Praktikal untuk Membetulkan Ralat "javascript:void(0)" dalam JavaScript
Ralat "javascript:void(0)" ialah ralat JavaScript biasa apabila cuba menghantar nama fungsi sebagai rentetan akan muncul. Ini sering disebabkan oleh kesilapan dalam mengendalikan input pengguna dalam kod JavaScript.
Mengapa ralat ini berlaku?
Apabila anda menggunakan rentetan "javascript:void(0)" sebagai sebahagian daripada kod JavaScript, enjin mentafsirkannya sebagai pernyataan, bukan nama fungsi. Oleh itu, ia membuang ralat "javascript:void(0)".
Petua praktikal untuk membetulkan ralat ini:
1. Gunakan Huruf Templat:
Tersurat templat (rentetan templat) membolehkan anda membenamkan ungkapan dalam rentetan dengan lebih mudah. Rentetan keliling dengan kutu belakang (`) dan panggilan fungsi benam dalam ${}.
// 错误示例 document.addEventListener("click", javascript:void(0)); // 使用 Template Literals 的正确示例 document.addEventListener("click", `${eventHandlerFunction}`);
2. Gunakan Fungsi Anak Panah:
Fungsi Anak Panah ialah sintaks fungsi yang dipermudahkan yang menggabungkan pengisytiharan dan ungkapan fungsi tanpa nama menjadi satu baris. Anda boleh menggunakan fungsi anak panah untuk menghantar nama fungsi kepada rentetan.
// 错误示例 document.addEventListener("click", javascript:void(0)); // 使用箭头函数的正确示例 document.addEventListener("click", () => eventHandlerFunction());
3 Gunakan kaedah bind(): Kaedah
bind() mencipta contoh baharu fungsi di mana kata kunci ini terikat pada objek yang ditentukan. Anda boleh menggunakan ini untuk mencipta pengendali acara yang boleh memanggil fungsi dengan nilai ini yang berbeza.
// 错误示例 document.getElementById("button").addEventListener("click", javascript:void(0)); // 使用 bind() 方法的正确示例 document.getElementById("button").addEventListener("click", eventHandlerFunction.bind(this));
Contoh praktikal:
Berikut ialah contoh praktikal menggunakan Template Literals untuk membetulkan ralat:
<html> <body> <button id="my-button">Click me</button> <script> document.getElementById("my-button").addEventListener("click", `${eventHandlerFunction}`); function eventHandlerFunction() { console.log("Button clicked!"); } </script> </body> </html>
Nota:
Atas ialah kandungan terperinci Petua praktikal untuk menyelesaikan ralat javascript:void(o).. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!