1. Elakkan gesaan pop timbul
Saya banyak mencari di Internet, dan kebanyakan jawapannya adalah untuk menetapkan window.onbeforeunload=null, tetapi ia tidak berjaya selepas mencubanya.
Selepas saya meletakkan soalan ini selama dua hari, saya kembali dan memikirkannya semula, dan akhirnya saya menemui jawapannya, saya ingin berkongsi dengan anda di sini:
Lepaskan gesaan pop timbul halaman keluar jquery (1) Nyahikat dahulu dan tetapkan kandungan pop timbul kepada null.
$(fungsi(){
$(window).unbind('beforeunload');
window.onbeforeunload = null;
})
2. [Abstrak] lain yang berkaitan
(1)peristiwa onunload dan onbeforeunload tetingkap
Yang berikut merujuk kepada pelaksanaan dalam js, bukan kaedah
!
Kerana ini dicetuskan apabila badan dipunggah, dan mana-mana pelayar akan memunggah badan apabila ia ditutup!
Model 1:
fungsi tutup(){
alert("ini adalah ujian");
}
window.onbeforeunload=close;
Model 2:
fungsi tutup(){
If(document.body.clientWidth-event.clientX< 170&&event.clientY< 0||event.altKey)
{
alert("ini adalah ujian");
}
}
window.onbeforeunload=close;
Salin kod
Mengenai model 1:
1). Muat semula, sesuai untuk tetingkap berbilang dan tetingkap tunggal.
2).Tetingkap tunggal IE menutup keseluruhan pencetus IE.
3). Tutup pencetus halaman tunggal dalam ie7 berbilang tetingkap
4) Pencetus muat semula berbilang tetingkap lain Menutup satu tetingkap dan menutup keseluruhan tetingkap tidak akan mencetuskan
Untuk model 2:
1).iaitu tetingkap tunggal dan berbilang tetingkap ie7 perlu menutup keseluruhan pelayar untuk mencetuskan
2). Muat semula penyemak imbas berbilang tetingkap lain Menutup satu halaman atau menutup keseluruhan halaman tidak akan mencetuskan
(2)
Buat kotak gesaan keluar
Ikat sebelum memuat acara
$(window).bind('beforeunload',function(){
Kembalikan 'Kandungan yang anda masukkan belum disimpan. Adakah anda pasti mahu meninggalkan halaman ini? ';
});
Lepaskan
$(window).unbind('beforeunload');
window.onbeforeunload = null;
Di atas adalah semua kandungan yang diterangkan dalam artikel ini, saya harap anda semua menyukainya.