Togol tindanan kontekstual untuk memaparkan senarai pautan dan banyak lagi dengan pemalam lungsur turun Bootstrap.
Gambaran keseluruhan
Jatuh turun boleh togol, tindanan kontekstual untuk memaparkan senarai pautan dan banyak lagi. Ia dibuat interaktif dengan pemalam JavaScript lungsur Bootstrap yang disertakan. Mereka ditogol dengan mengklik, bukan dengan melayang; ini adalah keputusan reka bentuk yang disengajakan .
Dropdown dibina pada pustaka pihak ketiga, Popper.js , yang menyediakan pengesanan kedudukan dinamik dan port pandangan. Pastikan anda memasukkan popper.min.js sebelum JavaScript Bootstrap atau gunakan bootstrap.bundle.min.js/ bootstrap.bundle.jsyang mengandungi Popper.js. Popper.js tidak digunakan untuk meletakkan dropdown dalam bar navigasi walaupun kerana kedudukan dinamik tidak diperlukan.
Jika anda sedang membina JavaScript kami daripada sumber, ia memerlukanutil.js .
Kebolehcapaian
Piawaian WAI ARIA mentakrifkan role="menu"widget sebenar , tetapi ini khusus untuk menu seperti aplikasi yang mencetuskan tindakan atau fungsi. Menu ARIA hanya boleh mengandungi item menu, item menu kotak semak, item menu butang radio, kumpulan butang radio dan sub-menu.
Sebaliknya, dropdown Bootstrap direka bentuk untuk menjadi generik dan boleh digunakan pada pelbagai situasi dan struktur penanda. Sebagai contoh, adalah mungkin untuk membuat lungsur turun yang mengandungi input tambahan dan kawalan borang, seperti medan carian atau borang log masuk. Atas sebab ini, Bootstrap tidak menjangkakan (atau menambah secara automatik) mana-mana atribut roledan yang diperlukan untuk menu ARIA sebenar. Pengarang perlu memasukkan atribut yang lebih khusus ini sendiri.aria-
Walau bagaimanapun, Bootstrap menambah sokongan terbina dalam untuk kebanyakan interaksi menu papan kekunci standard, seperti keupayaan untuk bergerak melalui .dropdown-itemelemen individu menggunakan kekunci kursor dan menutup menu dengan ESCkekunci.
Contoh
Balut togol lungsur turun (butang atau pautan anda) dan menu lungsur turun dalam .dropdown, atau elemen lain yang mengisytiharkan position: relative;. Jatuh turun boleh dicetuskan daripada <a>atau <button>unsur supaya lebih sesuai dengan potensi keperluan anda.
Butang tunggal
Mana-mana single .btnboleh ditukar menjadi togol lungsur turun dengan beberapa perubahan markup. Begini cara anda boleh menjadikannya berfungsi dengan mana-mana <button>elemen:
Begitu juga, buat menu lungsur butang pisah dengan penanda yang hampir sama dengan lungsur butang tunggal, tetapi dengan penambahan .dropdown-toggle-splituntuk jarak yang betul di sekeliling karet lungsur.
Kami menggunakan kelas tambahan ini untuk mengurangkan mendatar paddingpada kedua-dua sisi karet sebanyak 25% dan mengalih keluar kelas margin-leftyang ditambahkan untuk menu lungsur butang biasa. Perubahan tambahan tersebut memastikan karet berpusat pada butang belah dan menyediakan kawasan pukulan bersaiz lebih sesuai di sebelah butang utama.
Kandungan menu lungsur dari segi sejarah mestilah pautan, tetapi itu tidak lagi berlaku dengan v4. Kini anda boleh menggunakan <button>elemen dalam menu lungsur anda dan bukannya hanya <a>s.
Anda juga boleh membuat item lungsur turun bukan interaktif dengan .dropdown-item-text. Jangan ragu untuk menggayakan lagi dengan CSS tersuai atau utiliti teks.
Secara lalai, menu lungsur turun secara automatik diletakkan 100% dari atas dan di sepanjang sebelah kiri induknya. Tambahkan .dropdown-menu-rightpada .dropdown-menujajaran ke kanan menu lungsur turun.
Angkat kepala! Dropdown diposisikan terima kasih kepada Popper.js (kecuali apabila ia terkandung dalam bar navigasi).
Penjajaran responsif
Jika anda ingin menggunakan penjajaran responsif, lumpuhkan kedudukan dinamik dengan menambahkan data-display="static"atribut dan gunakan kelas variasi responsif.
Untuk menjajarkan menu lungsur ke kanan.dropdown-menu{-sm|-md|-lg|-xl}-right dengan titik putus yang diberikan atau lebih besar, tambahkan .
Untuk menjajarkan menu lungsur ke kiri.dropdown-menu-right dengan titik putus yang diberikan atau lebih besar, tambah dan .dropdown-menu{-sm|-md|-lg|-xl}-left.
Ambil perhatian bahawa anda tidak perlu menambah data-display="static"atribut pada butang lungsur turun dalam bar navigasi, kerana Popper.js tidak digunakan dalam bar navigasi.
Kandungan menu
Pengepala
Tambahkan pengepala untuk melabel bahagian tindakan dalam mana-mana menu lungsur turun.
Letakkan sebarang teks bentuk bebas dalam menu lungsur turun dengan teks dan gunakan utiliti jarak . Ambil perhatian bahawa anda mungkin memerlukan gaya saiz tambahan untuk mengekang lebar menu.
Beberapa contoh teks yang mengalir bebas dalam menu lungsur turun.
Dan ini adalah lebih banyak contoh teks.
Borang
Letakkan borang dalam menu lungsur turun, atau jadikannya sebagai menu lungsur turun, dan gunakan utiliti margin atau padding untuk memberikannya ruang negatif yang anda perlukan.
Melalui atribut data atau JavaScript, pemalam lungsur turun menogol kandungan tersembunyi (menu lungsur) dengan menogol .showkelas pada item senarai induk. Atribut data-toggle="dropdown"ini bergantung kepada untuk menutup menu lungsur turun pada peringkat aplikasi, jadi adalah idea yang baik untuk sentiasa menggunakannya.
Pada peranti yang didayakan sentuhan, membuka menu lungsur menambah pengendali kosong ( $.noop) mouseoverkepada anak terdekat <body>unsur tersebut. Penggodaman yang diakui jelik ini diperlukan untuk mengatasi masalah dalam delegasi acara iOS , yang sebaliknya akan menghalang ketik di mana-mana di luar menu lungsur daripada mencetuskan kod yang menutup menu lungsur. Setelah menu lungsur ditutup, mouseoverpengendali kosong tambahan ini dialih keluar.
Melalui atribut data
Tambahkan data-toggle="dropdown"pada pautan atau butang untuk menogol lungsur turun.
Melalui JavaScript
Panggil lungsur turun melalui JavaScript:
data-toggle="dropdown"masih diperlukan
Tidak kira sama ada anda memanggil lungsur turun melalui JavaScript atau sebaliknya menggunakan data-api, data-toggle="dropdown"sentiasa diperlukan untuk hadir pada elemen pencetus lungsur turun.
Pilihan
Pilihan boleh dihantar melalui atribut data atau JavaScript. Untuk atribut data, tambahkan nama pilihan pada data-, seperti dalam data-offset="".
Nama
taip
Lalai
Penerangan
mengimbangi
nombor | rentetan | fungsi
0
Mengimbangi lungsur turun berbanding sasarannya.
Apabila fungsi digunakan untuk menentukan ofset, ia dipanggil dengan objek yang mengandungi data offset sebagai hujah pertamanya. Fungsi mesti mengembalikan objek dengan struktur yang sama. Nod DOM elemen pencetus diluluskan sebagai hujah kedua.
Benarkan Dropdown untuk membelek sekiranya berlaku pertindihan pada elemen rujukan. Untuk maklumat lanjut rujuk dokumen selak Popper.js .
sempadan
rentetan | unsur
'scrollParent'
Sempadan kekangan limpahan menu lungsur. Menerima nilai 'viewport', 'window', 'scrollParent', atau rujukan HTMLElement (JavaScript sahaja). Untuk maklumat lanjut rujuk dokumen preventOverflow Popper.js .
rujukan
rentetan | unsur
'togol'
Elemen rujukan menu lungsur turun. Menerima nilai 'toggle', 'parent', atau rujukan HTMLElement. Untuk maklumat lanjut rujuk Popper.js's referenceObject docs .
paparan
tali
'dinamik'
Secara lalai, kami menggunakan Popper.js untuk kedudukan dinamik. Lumpuhkan ini dengan static.
Perhatikan apabila boundaryditetapkan kepada sebarang nilai selain daripada 'scrollParent', gaya position: staticdigunakan pada .dropdownbekas.
Kaedah
Kaedah
Penerangan
$().dropdown('toggle')
Togol menu lungsur turun bar navigasi yang diberikan atau navigasi tab.
$().dropdown('show')
Menunjukkan menu lungsur turun bar navigasi tertentu atau navigasi tab.
$().dropdown('hide')
Menyembunyikan menu lungsur turun bar navigasi tertentu atau navigasi tab.
$().dropdown('update')
Mengemas kini kedudukan lungsur turun elemen.
$().dropdown('dispose')
Memusnahkan lungsur turun elemen.
Peristiwa
Semua acara lungsur turun dicetuskan pada .dropdown-menuelemen induk dan mempunyai relatedTargetsifat, yang nilainya ialah elemen sauh togol. hide.bs.dropdowndan hidden.bs.dropdownacara mempunyai clickEventsifat (hanya apabila jenis acara asal ialah click) yang mengandungi Objek Acara untuk acara klik.
Peristiwa
Penerangan
show.bs.dropdown
Peristiwa ini berlaku serta-merta apabila kaedah contoh tunjukkan dipanggil.
shown.bs.dropdown
Peristiwa ini dicetuskan apabila lungsur turun telah ditunjukkan kepada pengguna (akan menunggu peralihan CSS, untuk diselesaikan).
hide.bs.dropdown
Peristiwa ini dicetuskan serta-merta apabila kaedah hide instance telah dipanggil.
hidden.bs.dropdown
Peristiwa ini dicetuskan apabila lungsur turun telah selesai disembunyikan daripada pengguna (akan menunggu peralihan CSS, selesai).