Saya membuat situs web bootstrap, dengan beberapa 'Modals' Bootstrap. Saya mencoba menyesuaikan beberapa fitur default.
Masalahnya adalah ini; Anda dapat menutup modal dengan mengklik pada latar belakang. Apakah ada cara untuk menonaktifkan fitur ini? Hanya pada modif tertentu?
javascript
css
twitter-bootstrap
modal-dialog
Orang terpelajar
sumber
sumber
Jawaban:
Pada bab Opsi, di halaman yang Anda tautkan, Anda dapat melihat
backdrop
opsi tersebut. Melewati opsi ini dengan nilai'static'
akan mencegah penutupan modal.Seperti @PedroVagner menunjuk pada komentar, Anda juga dapat lulus
{keyboard: false}
untuk mencegah penutupan modal dengan menekan Esc.Jika Anda membuka modal dengan js gunakan:
Jika Anda menggunakan atribut data, gunakan:
sumber
$('#modal').modal('show');
Semoga ini bisa membantu!Ini yang paling mudah
Anda dapat menentukan perilaku modal Anda, mendefinisikan keyboard-data dan latar belakang data.
sumber
data-backdrop="static"
opsi pada definisi modal, bukan tombol pemicu yang membuka modal seperti yang ditentukan dalam jawaban lain, bekerja untuk saya.Anda dapat menggunakan atribut seperti ini:
data-backdrop="static"
atau dengan javascript:Lihat jawaban ini juga: Larang jendela modal bootstrap twitter agar tidak ditutup
sumber
Dalam aplikasi saya, saya menggunakan potongan kode di bawah ini untuk menunjukkan modal Bootstrap melalui jQuery.
sumber
Kamu bisa menggunakan
untuk mengubah perilaku default.
sumber
Ada dua cara untuk menonaktifkan klik di luar area model bootstrap untuk menutup modal-
menggunakan javascript
menggunakan atribut data dalam tag HTML
sumber
Lihat ini ::
sumber
Opsi lain jika Anda tidak tahu apakah modal sudah dibuka atau belum dan Anda perlu mengkonfigurasi opsi modal:
Ubah opsi menjadi _config
sumber
_setEscapeEvent()
bukan.escape()
?Solusi yang bekerja untuk saya adalah sebagai berikut:
latar belakang: menonaktifkan klik di luar acara
keyboard: menonaktifkan acara kata kunci scape
sumber
coba ini, Selama pengembangan aplikasi saya ... Saya juga menemui masalah bahwa nilai default untuk atribut model =>
data-keyboard="true"
, =>data-backdrop="non static"
Semoga ini bisa membantu Anda!
sumber
Coba ini:
sumber
TLDR
backdrop: 'static'
https://getbootstrap.com/docs/3.3/javascript/#modals-options
sumber
tidak ada solusi yang bekerja untuk saya.
Saya memiliki modalitas syarat dan ketentuan yang saya ingin memaksa orang untuk meninjau sebelum melanjutkan ... default "statis" dan "keyboard" sesuai pilihan membuatnya tidak mungkin untuk menggulir ke bawah halaman karena syarat dan ketentuannya adalah beberapa halaman log, statis bukan jawaban untuk saya.
Jadi alih-alih saya pergi untuk melepaskan ikatan metode klik pada modal, dengan yang berikut ini saya bisa mendapatkan efek yang diinginkan.
$('.modal').off('click');
sumber
sumber
Jika Anda menggunakan @ ng-bootstrap gunakan yang berikut ini:
Komponen
Templat
Kode ini diuji pada sudut 9 menggunakan:
"@ ng-bootstrap / ng-bootstrap": "^ 6.1.0",
"bootstrap": "^ 4.4.1",
sumber
Gunakan ini jika Anda ingin menonaktifkan klik luar untuk semua modalnya menggunakan jQuery. Tambahkan skrip ini ke Javascript Anda setelah jQuery.
sumber
Anda juga dapat melakukan ini tanpa menggunakan JQuery, seperti:
sumber
Tambahkan css di bawah ini sesuai keinginan Anda lebar layar Anda.
sumber