Gunakan anti-guncang untuk menghilangkan DIV saat mouse digerakkan
Karena tag div itu sendiri tidak mendukung event onblur, untuk div yang muncul saat tombol diklik, kami ingin menghilangkannya saat div kehilangan fokus dan tidak dapat dicapai menggunakan onblur.
Namun Anda dapat menggunakan onmouseout dan events untuk mewujudkan fungsi DIV yang kehilangan fokus dan menghilang. Mungkin ada masalah dengan penggunaan langsung onmouseout untuk mewujudkan penghapusan dan penghilangan: jika posisi tombol Anda dan posisi div pop-up tidak bersamaan, kejadian onmouseout akan dipicu segera saat mouse bergerak, dan ini tidak ada gunanya.
Gunakan kombinasi anti-shake, onmouseout, dan onmouseover untuk mencapai peristiwa blur dengan pengalaman yang baik
/** *Mouse bergerak di atas div event*/ function moveOverEvent(ele,outTimer) { let overTimer = null; return function(){ clearTimeout(outTimer); acara yang terakhir dihapus clearTimeout(overTimer); //Anti-shake overTimer = setTimeout(()=>{ ele.style.display = block; },500); Mouse bergerak keluar*/ function moveOutEvent(ele,outTimer) { return function(){ clearTimeout(outTimer); //Anti-shake outTimer = setTimeout(()=>{ //Tunggu 500 md setelah keluar, lalu hilangkan div ele ini .style .display = tidak ada },500);Kemudian saya tidak sengaja menemukan bahwa event blur dapat diimplementasikan dengan menambahkan atribut tabindex ke div, sehingga kode di atas mungkin ditulis dengan sia-sia. (PS Saya merasa pengalaman di atas akan lebih baik dan mengurangi banyak sentuhan yang tidak disengaja)
//Setelah tabindex disetel, elemen akan menambahkan garis putus-putus secara default dan menghapusnya melalui ouline=0 (IE menyetel hidefocus=true) <div tabindex=0 outline=0 hidefocus=true></div>
Di atas adalah keseluruhan isi artikel ini, saya harap dapat bermanfaat untuk pembelajaran semua orang. Saya juga berharap semua orang mendukung VeVb Wulin Network.