Seret dan Lepas Penyemak Imbas Mengganggu Fungsi Aplikasi
Apabila melaksanakan sistem tetingkap berciri penuh dalam aplikasi web, pengguna sering menghadapi masalah di mana fungsi drag-and-drop penyemak imbas mengganggu tindakan aplikasi. Isu ini timbul apabila pengguna cuba menyeret sebahagian daripada aplikasi, tetapi penyemak imbas mentafsir tindakan itu sebagai percubaan untuk menyeret dan melepaskan elemen.
Melumpuhkan Seret dan Lepaskan Penyemak Imbas
Untuk menyelesaikan isu ini, adalah perlu untuk melumpuhkan fungsi seret dan lepas penyemak imbas. Penyelesaian mudah ialah menambah atribut berikut pada
elemen menggunakan JavaScript:document.body.ondragstart = "return false;"; document.body.ondrop = "return false;";
Atribut ini menghalang penyemak imbas daripada memulakan proses seret dan lepas apabila pengguna mengklik pada badan dokumen. Penyelesaian ini dengan berkesan melumpuhkan seret dan lepas untuk keseluruhan halaman.
Mendayakan semula Seret dan Lepas
Walaupun melumpuhkan seret dan lepas penyemak imbas boleh menghalang gangguan dengan tindakan aplikasi, ia juga mungkin menghalang kebolehgunaan aplikasi. Untuk menangani perkara ini, adalah ideal untuk melumpuhkan drag-and-drop hanya apabila pengguna berinteraksi dengan elemen aplikasi tertentu.
Untuk mencapai ini, anda boleh menggunakan jQuery untuk menambah peristiwa draggable dan droppable pada elemen yang sesuai. Acara boleh seret menghalang penyeretan, manakala acara boleh seret menghalang jatuh. Berikut ialah contoh:
$( ".disabled-drag-drop-element" ) .on( "draggable", function(event) { event.preventDefault(); } ) .on( "droppable", function(event) { event.preventDefault(); } );
Penyelesaian ini membenarkan fungsi seret dan lepas kekal aktif pada bahagian lain halaman sambil menghalangnya pada elemen tertentu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Seret-dan-Lepaskan Penyemak Imbas daripada Mengganggu Fungsi Aplikasi Web Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!