Saya menggunakan jquery-ui-dialog
plugin
Saya mencari cara untuk menyegarkan halaman ketika dalam beberapa keadaan ketika dialog ditutup.
Apakah ada cara untuk menangkap acara dekat dari dialog?
Saya tahu saya dapat menjalankan kode ketika tombol tutup diklik tetapi itu tidak mencakup penutupan pengguna dengan melarikan diri atau x di sudut kanan atas.
$('div#popup_content')
benar? Apa yang harus saya ganti dengan ini, mengingat dialog saya dibuka seperti inijQuery.fn.dialog.open({})
$('body').on('dialogclose', '.ui-dialog', function(){...});
Saya percaya Anda juga dapat melakukannya saat membuat dialog (disalin dari proyek yang saya lakukan):
Catatan
close: CloseFunction
sumber
var CloseFunction = function() { //Do your custom closing stuff here };
overlay
dua kali. Itu tidak perlu kan?sumber
Properti "tutup" dialog memberikan acara tutup untuk hal yang sama.
sumber
Anda juga dapat mencoba ini
sumber
Inilah yang bekerja untuk saya ...
sumber
Karena tidak ada yang benar-benar membuat jawaban dengan menggunakan.
on()
bukannyabind()
saya memutuskan untuk membuatnya.sumber
tambahkan opsi 'tutup' seperti di bawah sampel dan lakukan apa yang Anda inginkan fungsi inline
sumber
Jika saya memahami jenis jendela yang Anda bicarakan, tidak akan $ (jendela) .unload () (untuk jendela dialog) memberikan Anda pengait yang Anda butuhkan?
(Dan jika saya salah paham, dan Anda berbicara tentang kotak dialog yang dibuat melalui CSS daripada jendela browser pop-up, maka semua cara untuk menutup jendela itu adalah elemen yang bisa Anda daftarkan dengan hander klik.)
Sunting: Ah, saya mengerti sekarang Anda sedang berbicara tentang dialog jquery-ui, yang dibuat melalui CSS. Anda dapat mengaitkan X yang menutup jendela dengan mendaftarkan pengendali klik untuk elemen dengan kelas ui-dialog-titlebar-close .
Yang lebih berguna, mungkin, adalah Anda memberi tahu Anda cara mencari tahu dengan cepat. Saat menampilkan dialog, cukup buka FireBug dan Inspect elemen yang dapat menutup jendela. Anda akan langsung melihat bagaimana mereka didefinisikan dan itu memberi Anda apa yang Anda butuhkan untuk mendaftarkan penangan klik.
Jadi untuk langsung menjawab pertanyaan Anda, saya yakin jawabannya benar-benar "tidak" - tidak ada acara dekat yang dapat Anda kaitkan, tetapi "ya" - Anda dapat mengaitkan semua cara untuk menutup kotak dialog dengan cukup mudah dan mendapatkan apa maumu.
sumber
Anda dapat mencoba kode berikut untuk menangkap acara penutupan untuk setiap item: halaman, dialog dll.
sumber