Bootstrap-multiselect: Drag scrollbar tidak berfungsi di Bootstrap Modal

Dibuat pada 13 Nov 2017  ·  11Komentar  ·  Sumber: davidstutz/bootstrap-multiselect

Saya mencoba menggunakan multi-pilih bootstrap dalam modal bootstrap. Saya dapat memulainya dan membuatnya dengan sempurna tidak ada masalah dengan itu. Saya menghadapi masalah yang sangat menjengkelkan di mana ketika saya mencoba menyeret scrollbar di dalam modal, drop-down ditutup. Saya mencoba dan mereplikasi kode yang sama di luar modal bootstrap, itu berfungsi dengan sempurna. Saya telah membuat jsFiddle untuk mendemonstrasikan masalah tersebut.

Pengguliran normal berfungsi dengan baik tetapi menyeret bilah gulir di modal menutup tarik-turun. Adakah cara untuk memperbaiki masalah ini?

https://jsfiddle.net/darshanturakhia/hdnf9x61/5/

bug

Komentar yang paling membantu

Hei, saya agak tahu bahwa itu adalah masalah modal bootstrap. Ketika saya dihapus

tabindex="-1"

dari

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

Saya bisa menyeret scrollbar.

Semua 11 komentar

Sepertinya bug. Tapi saya tidak yakin apa masalahnya ... Mungkin juga menjadi masalah dengan Dropdown atau Modal Bootstrap karena masalahnya tampaknya adalah peristiwa klik, yaitu mengklik bilah gulir menutup dropdown.

Ada berita tentang masalah ini @davidstutz ?

Hei, saya agak tahu bahwa itu adalah masalah modal bootstrap. Ketika saya dihapus

tabindex="-1"

dari

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">

Saya bisa menyeret scrollbar.

Saya memiliki perilaku penutupan dropdown saat mencoba menyeret scroll bar, tetapi tidak dalam modal bs, hanya di halaman asp. Saya telah mempersempitnya ke properti ul link css, -ms-overflow-y: auto; jika saya mengedit html (bukan dom) dalam konsol debug IE, untuk membuat tag itu melimpah-y: auto (menghapus -ms-) berfungsi dengan baik, naik dan turun. Halaman berfungsi dengan baik tanpa tweak di Chrome. Roda gulir bekerja dengan baik. Saya telah mencoba segala macam manipulasi, jquery, ondropdownshown, mengubah template ul dalam kode pluging bms (btw, 9.15 v), tidak ada yang berbeda, Hanya pengeditan langsung dari html dengan jendela debug yaitu memperbaikinya '. Jadi sepertinya MS -ms-overflow-y adalah pelakunya. Sayangnya, saya tidak yakin bagaimana cara menjaga browser mereka agar tidak mengubah overflow-y menjadi -ms-overflow-y secara otomatis ketika halaman dirender.

Tepatnya tentang efek di IE 11, cobalah berbagai macam konfigurasi css menggunakan template ul dan mengomentari overflow-y: auto dalam inisialisasi, tetapi tidak ada perubahan. Efek di IE yang membuat dropdown menghilang adalah ketika Anda menahan tombol kiri ke bawah baik pada panah atas atau bawah dari bilah gulir vertikal, menyeret bilah gulir, jadi efeknya, menahan tombol kiri ke bawah, namun, mengklik di setiap area dan tombol, dan Anda dapat menggulir secara vertikal, juga menggunakan roda mouse. Saya memiliki div dengan konten yang meluap lebih jauh ke bawah halaman yang sama, dengan -ms-overflow-y: pengaturan gulir dan itu berfungsi dengan baik melakukan efek pengguliran yang sama. Itu adalah bagian halaman non-jquery dan plug. Bertanya-tanya apakah jquery terhubung ke windows id scrolling, entah bagaimana.

Untuk mengakhiri disertasi hari ini tentang masalah ini dalam IE, saya harus menyampaikan, yang akhirnya saya bungkus

    tag dengan tag div dengan overflow-y: auto, dan ini menggulir daftar dengan benar di IE. kemudian kembalikan 2 kelas, multiselect-container dan dropdown-menu, dan di sinilah ia tidak menggulir ke atas scrollbar draggin, seperti sebelumnya, jadi ini memang terlihat seperti masalah bs 4, jika tidak sebelumnya, yang akan saya coba pada versi bs dan jQuery sebelumnya ketika saya punya waktu lagi. Saya akan melaporkan kembali temuan apa pun.

@franklhlc Bootstrap 4 (jika Anda menggunakan versi terkompilasi) menggunakan Autoprefixer , yang menambahkan penggantian vendor tersebut. Jika Anda mengkompilasi Sass sendiri, masalah mungkin akan hilang.

@tiesont terima kasih untuk arah ini, saya harus mencoba. Bahwa saya menjalankan tes saya yang saya uraikan di atas. Saya ingin melihat apakah scrollbar drag and closure dropdown (hanya di IE) spesifik untuk kombinasi tertentu dari BS dan jQ. Jadi, Swapping 4.1.3 BS / CSS yang dikompilasi untuk 3.3.7 BS / CSS…. memungkinkan pengguliran bekerja kembali. tidak masalah jika saya menggunakan jQuery versi 2.2.4 atau 3.3.7 terbaru. Dan sekali lagi. Namun seperti sebelumnya, semua kombinasi bekerja dengan baik di Chrome.

Jadi kami memiliki masalah yang sangat spesifik di BS 4.1.3 js hanya untuk IE…. itulah intinya juga. Sekali lagi, jika saya mengedit html dan mengganti -ms-overflow-y pada tag ul dengan, overflow-y (menghilangkan awalan browser) (yang menurut saya akan mirip dengan innerHTML) di IE f12, pengguliran berfungsi lagi indah.
Ketika saya mencoba mengganti string ini dengan beberapa jq di acara onDropdownShown, itu (sesuatu, tidak yakin apa) menempatkan kembali -ms- awalan pada properti gaya ini. 3.3.7 bs dan jq 2.1.4 juga menempatkan atribut gaya itu untuk tag ul, tetapi kontrol akan bergulir dengan benar saat menggunakan versi kerangka kerja tersebut.

baru saja memeriksa perbedaan dari apa yang bs 4.1.3 tambahkan dengan inline css in

    yang membuatnya tidak menggulir di IE sebagai lawan bs 3.3.7 yang memungkinkan BSM untuk menggulir dengan benar

maaf, tinggalkan simbol pengkodean sehingga markup tidak dimasukkan ke dalam komentar terakhir ..
Tag 4.1.3 ul (scroll IE tidak berfungsi)

ul class="multiselect-container dropdown-menu show" style="left: 0px; top: 0px; position: absolute; -ms-overflow-x: hidden; -ms-overflow-y: auto; max-height: 200px; transform: translate3d(5px, 34px, 0px);" x-penempatan = "awal dari bawah"

3.3.7 bs memungkinkan scrollbar berfungsi dengan baik
`ul class =" multiselect-container dropdown-menu "style =" - ms-overflow-x: tersembunyi; -ms-overflow-y: auto; max-height: 200px; '

`

Nah, apa pun yang berkaitan dengan dropdown atau popup (seperti tooltips, popovers, atau modals) menggunakan Popper.js, jadi mungkin itu pelakunya (ini adalah perubahan paling signifikan antara v3 dan v4). Sepertinya Popper memiliki beberapa utilitas untuk menambahkan aturan yang diawali vendor.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat