Saya membuat jendela modal menggunakan Twitter Bootstrap. Perilaku default adalah jika Anda mengklik di luar area modal, modal akan secara otomatis ditutup. Saya ingin menonaktifkan itu - yaitu tidak menutup jendela modal ketika mengklik di luar modal.
Bisakah seseorang membagikan kode jQuery untuk melakukan ini?
jquery
twitter-bootstrap
modal-dialog
mouseclick-event
pengguna1296175
sumber
sumber
Jawaban:
Saya yakin Anda ingin mengatur nilai latar belakang menjadi statis . Jika Anda ingin menghindari jendela untuk menutup saat menggunakan Esckunci, Anda harus menetapkan nilai lain.
Contoh:
ATAU jika Anda menggunakan JavaScript:
sumber
Cukup atur
backdrop
properti ke'static'
.Anda mungkin juga ingin mengatur
keyboard
propertifalse
karena itu mencegah modal dari ditutup dengan menekan Esctombol pada keyboard.myModal
adalah ID dari div yang berisi konten modal Anda.sumber
backdrop
dankeyboard
disebutkan di sini dalam dokumentasi mereka di bawah bagian Opsi .Anda juga dapat memasukkan atribut-atribut ini dalam definisi modal itu sendiri:
sumber
Jika Anda sudah menginisialisasi jendela modal, maka Anda mungkin ingin mengatur ulang opsi dengan
$('#myModal').removeData("modal").modal({backdrop: 'static', keyboard: false})
untuk memastikan itu akan menerapkan opsi baru.sumber
Override acara Dialog Bootstap 'sembunyikan' dan hentikan perilaku defaultnya (untuk membuang dialog).
Silakan lihat cuplikan kode di bawah ini:
Ini berfungsi dengan baik dalam kasus kami.
sumber
Ya, Anda bisa melakukannya seperti ini:
sumber
Seperti jawaban @ AymKdn, tetapi ini akan memungkinkan Anda untuk mengubah opsi tanpa menginisialisasi ulang modal.
Atau jika Anda perlu melakukan banyak opsi, JavaScript
with
sangat berguna di sini!Jika modal sudah terbuka, opsi ini hanya akan berlaku pada saat modal dibuka berikutnya.
sumber
Tambahkan saja dua hal ini
Ini akan terlihat seperti ini sekarang
Ini akan menonaktifkan tombol escape dan juga klik di mana saja dan bersembunyi.
sumber
Anda dapat menonaktifkan perilaku klik-untuk-tutup latar belakang dan menjadikan ini default untuk semua modals Anda dengan menambahkan JavaScript ini ke halaman Anda (pastikan itu dijalankan setelah jQuery dan Bootstrap JS dimuat):
sumber
Seperti yang dikatakan D3VELOPER, kode berikut mengatasinya:
Saya menggunakan jquery & bootstrap dan
removeData('modal')
tidak berfungsi.sumber
Yang terbaik yang saya temukan adalah menambahkan kode ini ke tautan
sumber
Jika ada yang datang ke sini dari Google mencoba mencari cara untuk mencegah seseorang dari menutup modal, jangan lupa bahwa ada juga tombol tutup di kanan atas modal yang perlu dihapus.
Saya menggunakan beberapa CSS untuk menyembunyikannya:
Perhatikan bahwa menggunakan "display: none;" akan ditimpa ketika modal dibuat, jadi jangan gunakan itu.
sumber
Jika Anda ingin menonaktifkan
backdrop click closing
fitur secara kondisional . Anda dapat menggunakan baris berikut untuk mengaturbackdrop
opsistatic
selama runtime.Bootstrap v3.xx
Bootstrap v2.xx
Ini akan mencegah model yang sudah instantiated dengan
backdrop
opsi disetel kefalse
( perilaku default ), dari penutupan.sumber
Anda dapat mengatur perilaku default dari modal popup dengan menggunakan baris kode di bawah ini:
sumber
Melakukan itu sangat mudah saat ini. Cukup tambahkan:
Di pembagi modal Anda.
sumber
Nah, ini solusi lain yang mungkin dicari beberapa dari kalian (seperti saya dulu)
Masalah saya mirip, kotak modal ditutup sementara iframe yang saya miliki di dalam memuat, jadi saya harus menonaktifkan modal memberhentikan sampai Iframe selesai memuat, lalu aktifkan kembali.
Solusi yang disajikan di sini tidak berfungsi 100%.
Solusi saya adalah ini:
Jadi saya sementara mencegah Modal dari penutupan dengan:
Tapi itu adalah is_loading var yang akan mengaktifkan kembali penutupan setelah Iframe telah dimuat.
sumber
sumber
Untuk memperbarui keadaan latar belakang di Bootstrap 4.1.3 setelah modal ditampilkan, Kami menggunakan baris berikut dari plugin Bootstrap-Modal-Wrapper . Referensi kode Repositori Plugin .
sumber