Pengesanan Peristiwa Butang Belakang Penyemak Imbas Merentasi Penyemak Imbas
Mengesan gelagat butang belakang penyemak imbas menimbulkan cabaran kerana sifatnya yang tidak segerak. Walaupun beberapa kaedah wujud, seperti menggunakan window.onhashchange, mereka gagal membezakan antara elemen dalam halaman yang mencetuskan perubahan cincang dan tekan butang belakang sebenar.
Menguatkuasakan Penggunaan Butang Belakang Dalam Halaman
Dalam aplikasi satu halaman yang bergantung pada navigasi cincang, adalah penting untuk mengawal selia butang belakang kefungsian. Dengan menggunakan butang belakang dalam halaman yang mengubah suai cincang, anda boleh mengekalkan kawalan ke atas navigasi.
Menemui Penekanan Butang Belakang Penyemak Imbas
Untuk mengesan peristiwa butang belakang penyemak imbas dengan tepat , pertimbangkan pendekatan merentas platform menggunakan tuding tetikus dan biarkan peristiwa pada dokumen.
document.onmouseover = function() { // User's cursor is within the document area window.innerDocClick = true; } document.onmouseleave = function() { // User's cursor has exited the document area window.innerDocClick = false; } window.onhashchange = function() { if (window.innerDocClick) { // Navigation triggered by in-page action } else { // Browser back button was pressed } }
Kaedah ini menetapkan Bendera Boolean (window.innerDocClick) untuk menunjukkan sama ada kursor berada dalam kawasan dokumen. Jika cincang berubah semasa bendera palsu, ia mencadangkan agar butang belakang pelayar ditekan.
Halang Backspace daripada Mencetuskan Peristiwa Balik
Untuk menghalang kekunci backspace daripada mengaktifkan butang belakang, gunakan kod jQuery berikut:
$(function(){ var rx = /INPUT|SELECT|TEXTAREA/i; $(document).bind("keydown keypress", function(e){ if( e.which == 8 ){ // 8 == backspace if(!rx.test(e.target.tagName) || e.target.disabled || e.target.readOnly ){ e.preventDefault(); } } }); });
Kod ini memintas tekanan ruang belakang dan menghalangnya daripada mencetuskan acara butang belakang jika fokus bukan pada medan input.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Mengesan Tekan Butang Belakang Penyemak Imbas Merentasi Pelayar Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!