Baru -baru ini, dalam proyek, Anda perlu secara dinamis memberikan acara yang mengikat elemen kepada JS. Anda belum pernah menggunakan ini sebelumnya. Ngomong -ngomong, Anda bisa mempelajarinya. Jadi Anda Google acara dan menulis dua acara berikut, satu menambahkan acara dan yang lainnya adalah menghapus acara.
/AddEventListener (), RemestEventListener () digunakan untuk menangani operasi menentukan dan menghapus penangan acara // SCOPE: Event Handler akan berjalan dalam ruang lingkup elemennya. // AddEventListener (acara, fungsi, penangkapan/gelembung); RemoveEventListener (peristiwa, fungsi, tangkap/gelembung) // acara parameter ditampilkan pada tabel di atas. Fungsi adalah fungsi yang akan dieksekusi. Tangkapan dan gelembung adalah dua mode waktu yang diformulasikan oleh W3C. // Sederhana, Capture adalah membaca baris terakhir dari awal dokumen, dan kemudian menjalankan acara. Bubble pertama -tama menemukan posisi yang ditentukan dan kemudian menjalankan acara. // Parameter Capture/Bubble adalah nilai boolean, cara yang benar untuk menggunakan Capture, False AddEvent fungsi gelembung () {var obj = document.getElementById ("txtataatacity"); if (window.addeventListener) {// kode acara untuk browser lain: mozilla, netscape, firefox // urutan acara tambahan adalah urutan eksekusi // Perhatikan bahwa menambahkan peristiwa dengan menggunakan addeventListener, tanpa menambahkan obj.addeventener ('focus', function () {aa '), fise (' focus ', function () {aa')), fies ('focus', function () {aa ')), fise (' focus ', function () {aa')), fise ('focus', function () {aa ')), fies) (focus', function () {aa ')), fies (' focus ', function () {aa')), fies); } else {// Kode acara IE menambahkan metode tambahkan obj.attachevent ('onfocus', function () {test ('aa')}); }} function RemestEvNent () {var obj = document.geteLementById ("txtataTacity"); if (window.removeeventListener) {obj.removeeventListener ('focus', function () {test ('aa')}, false); } else {obj.detachevent ('onfocus', function () {test ('aa')}); }}Ketika halaman dimuat, metode di atas dipanggil ke acara pengikatan input. Tes ini berhasil ditambahkan, tetapi pemindahan tidak pernah berhasil. Jadi saya mencari materi referensi online
// peristiwa yang ditambahkan melalui addEventListener () hanya dapat dihapus oleh remeFeVentListener (). Ini selesai. Ada kalimat lain di bawah ini: // Fungsi anonim yang ditambahkan oleh AddEventListener () saat menghapus tidak akan dihapus. Masalahnya ditemukan. Function () {test ('aa')} // tidak valid, karena metode yang dilewati dalam addEventListener () dan removeEventListener () bukan metode yang sama, jadi test ('aa') diusulkan dan ditulis sebagai tes fungsi (msg) {waspada (msg)} ditulis ulang untuk fungsi addevent () {var var/documity (msg)} ditulis ulang untuk berfungsi addevent () {var var cobj =; if (window.addeventListener) {// kode acara untuk browser lain: mozilla, netscape, firefox // urutan peristiwa tambahan adalah urutan eksekusi // Perhatikan yang menambahkan peristiwa dengan menggunakan addeventListener, tanpa menambahkan obj.addeventListener ('fokus', test ('msg')}}}}}}}}}}}}}}}}}}}}}}}} } else {// Kode acara IE menambahkan metode tambahkan obj.attachevent ('onfocus', test ('msg')}); }} function RemestEvNent () {var obj = document.geteLementById ("txtataTacity"); if (window.removeeventListener) {obj.removeeventListener ('focus', test ('msg')}, false); } else {obj.detachevent ('onfocus', test ('msg')); }}Jadi prompt eksekusi IE: Ketidakcocokan tipe tampaknya tidak mendukung fungsi dengan parameter, sehingga fungsi dienkapsulasi ke dalam bentuk tanpa parameter lagi.
Eksekusi, penambahan berhasil, pemindahan atau kegagalan. Setelah mencari secara online untuk waktu yang lama, saya hampir menulis dengan cara ini dan itu berhasil. Saya tidak tahu mengapa saya tidak bisa menghapus milik saya.
Kemudian, saya melihat bahwa jQuery awalnya dirujuk pada halaman, jadi saya menggunakan ikat dan tidak ada peristiwa jQuery untuk berhasil.
Sayangnya, mari kita selesaikan masalah ini ketika proyek selesai.
Metode implementasi dinamis JS di atas untuk menambah dan menghapus acara ke elemen adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.