Hari ini, mari kita catat tombol mouse yang tepat dari JS dan pertama -tama menguraikan prinsip implementasinya:
1. Blokir acara default klik kanan; (Saya pikir yang saya modifikasi adalah acara default)
2. Bersembunyi dari UL; (Saya pernah berpikir bahwa ini layak div, berkeringat)
3. Respons terhadap klik kanan mouse dan tampilkan UL tersembunyi;
4. Setelah mouse diklik lagi, UL disembunyikan lagi
Dari sudut pandang ini, apakah jauh lebih mudah dilakukan? Pertama, taruh kodenya:
bagian html
<ul id = "testright"> <li> <a href = "#"> Mulai </a> </li> <li> <a href = "#"> jeda </a> </li> <li> <a href = "#"> ibadah </a> </li> </ul>
Bagian JavaScript:
window.onload = function () {var forright = document.geteLementById ("testRight"); // Dapatkan objek, sekarang saya terlalu akrab dengan forright.style.display = "none"; var title = forright.geteLementsByTagname ("li"); untuk (var i = 0; i <title.length; i ++) {title [i] .onmouseOver = function () {this.className = "Active"; // Faktanya, kita juga dapat memanggil acara lain di sini}; judul [i] .onmouseout = function () {// Ini juga dua peristiwa mouse, this.className = ""; }; } document.oncontextMenu = function (event) {// Ini adalah titik kunci implementasi var event = event || window.event; // ini bukan masalah forright.style.display = "block"; forright.style.left = event.clientx+"px"; forright.style.top = event.clienty+"px"; // mouse koordinat mengembalikan false; // return false di sini adalah untuk memblokir acara default}; document.onClick = function () {// Ini untuk meniru lebih jelas forright.style.display = "none"; }; };Mari pertama -tama lihat bagian paling kritis dari catatan hari ini: Jika acara Document.ContextMenu mengembalikan False, itu adalah untuk memblokir acara default. Jika kami tidak menulis hal lain, kami hanya menulis pengembalian di acara ini, seolah -olah itu berikut
document.oncontextMenu = function () {return false; }Dengan cara ini, tidak ada tanggapan yang akan muncul jika Anda mengklik kanannya. Kemudian kembali dan lihat seluruh aplikasi acara. Tampaknya kecuali untuk acara ini, sisanya adalah acara yang lebih akrab, tetapi jenis integrasi peristiwa ini selalu kurang. Kuncinya adalah memikirkan kreativitas. Tapi di mana pun ada terlalu banyak, mari kita lakukan terlebih dahulu, tetapi saya ingin membaca tiga ribu puisi dengan hati -hati, dan saya tidak ingin menulisnya dan hanya bertanya. Sikap kuda, sikap kuda, sikap kuda ...