Jatuh turun
Togol tindanan kontekstual untuk memaparkan senarai pautan dan banyak lagi dengan pemalam lungsur turun Bootstrap.
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.js
yang 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
.
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 role
dan 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-item
elemen individu menggunakan kekunci kursor dan menutup menu dengan ESCkekunci.
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.
Mana-mana single .btn
boleh ditukar menjadi togol lungsur turun dengan beberapa perubahan markup. Begini cara anda boleh menjadikannya berfungsi dengan mana-mana <button>
elemen:
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown button
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
Dan dengan <a>
unsur:
<div class="dropdown show">
<a class="btn btn-secondary dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
Bahagian yang terbaik ialah anda boleh melakukan ini dengan mana-mana varian butang juga:
Begitu juga, buat menu lungsur butang pisah dengan penanda yang hampir sama dengan lungsur butang tunggal, tetapi dengan penambahan .dropdown-toggle-split
untuk jarak yang betul di sekeliling karet lungsur.
Kami menggunakan kelas tambahan ini untuk mengurangkan mendatar padding
pada kedua-dua sisi karet sebanyak 25% dan mengalih keluar kelas margin-left
yang 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.
Butang lungsur turun berfungsi dengan butang semua saiz, termasuk butang lungsur lalai dan pisah.
Cetuskan menu lungsur turun di atas elemen dengan menambah .dropup
pada elemen induk.
Cetuskan menu lungsur turun di sebelah kanan elemen dengan menambahkan .dropright
pada elemen induk.
Cetuskan menu lungsur turun di sebelah kiri elemen dengan menambah .dropleft
pada elemen induk.
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.
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Secara lalai, menu lungsur turun secara automatik diletakkan 100% dari atas dan di sepanjang sebelah kiri induknya. Tambahkan .dropdown-menu-right
pada .dropdown-menu
jajaran ke kanan menu lungsur turun.
Angkat kepala! Dropdown diposisikan terima kasih kepada Popper.js (kecuali apabila ia terkandung dalam bar navigasi).
<div class="btn-group">
<button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Right-aligned menu
</button>
<div class="dropdown-menu dropdown-menu-right">
<button class="dropdown-item" type="button">Action</button>
<button class="dropdown-item" type="button">Another action</button>
<button class="dropdown-item" type="button">Something else here</button>
</div>
</div>
Tambahkan pengepala untuk melabel bahagian tindakan dalam mana-mana menu lungsur turun.
<div class="dropdown-menu">
<h6 class="dropdown-header">Dropdown header</h6>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
</div>
Asingkan kumpulan item menu yang berkaitan dengan pembahagi.
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Separated link</a>
</div>
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.
<div class="dropdown-menu">
<form class="px-4 py-3">
<div class="form-group">
<label for="exampleDropdownFormEmail1">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail1" placeholder="[email protected]">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword1">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword1" placeholder="Password">
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck">
<label class="form-check-label" for="dropdownCheck">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">New around here? Sign up</a>
<a class="dropdown-item" href="#">Forgot password?</a>
</div>
<form class="dropdown-menu p-4">
<div class="form-group">
<label for="exampleDropdownFormEmail2">Email address</label>
<input type="email" class="form-control" id="exampleDropdownFormEmail2" placeholder="[email protected]">
</div>
<div class="form-group">
<label for="exampleDropdownFormPassword2">Password</label>
<input type="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Password">
</div>
<div class="form-check">
<input type="checkbox" class="form-check-input" id="dropdownCheck2">
<label class="form-check-label" for="dropdownCheck2">
Remember me
</label>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
Tambahkan .active
pada item dalam menu lungsur untuk menggayakannya sebagai aktif .
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item active" href="#">Active link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
Tambahkan .disabled
pada item dalam menu lungsur untuk menggayakannya sebagai dilumpuhkan .
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Regular link</a>
<a class="dropdown-item disabled" href="#">Disabled link</a>
<a class="dropdown-item" href="#">Another link</a>
</div>
Melalui atribut data atau JavaScript, pemalam lungsur turun menogol kandungan tersembunyi (menu lungsur) dengan menogol .show
kelas 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
) mouseover
kepada 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, mouseover
pengendali kosong tambahan ini dialih keluar.
Tambahkan data-toggle="dropdown"
pada pautan atau butang untuk menogol lungsur turun.
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 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. Untuk maklumat lanjut rujuk dokumen offset Popper.js . |
flip | boolean | benar | 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 . |
Perhatikan apabila boundary
ditetapkan kepada sebarang nilai selain daripada 'scrollParent'
, gaya position: static
digunakan pada .dropdown
bekas.
Kaedah | Penerangan |
---|---|
$().dropdown('toggle') |
Togol menu lungsur turun bar navigasi yang diberikan atau navigasi tab. |
$().dropdown('update') |
Mengemas kini kedudukan lungsur turun elemen. |
$().dropdown('dispose') |
Memusnahkan lungsur turun elemen. |
Semua acara lungsur turun dicetuskan pada .dropdown-menu
elemen induk dan mempunyai relatedTarget
sifat, yang nilainya ialah elemen sauh togol.
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). |