Dropdowns
Ampifamadiho ny overlay contextual amin'ny fampisehoana lisitry ny rohy sy ny maro hafa miaraka amin'ny plugin bootstrap dropdown.
Ny dropdowns dia azo toggle, overlay contextual mba hampisehoana ny lisitry ny rohy sy ny maro hafa. Izy ireo dia natao hifaneraserana miaraka amin'ny plugin Bootstrap dropdown JavaScript. Avadika amin'ny alalan'ny fanindriana izy ireo, fa tsy amin'ny fanodinkodinana; Fanapahan - kevitra noforonina izany.
Ny dropdowns dia naorina amin'ny tranomboky an'ny antoko fahatelo, Popper.js , izay manome toerana mavitrika sy fitsikilovana. Aza hadino ny mampiditra popper.min.js alohan'ny Bootstrap's JavaScript na mampiasa bootstrap.bundle.min.js
/ bootstrap.bundle.js
izay misy Popper.js. Popper.js dia tsy ampiasaina amin'ny fametrahana ny dropdowns amin'ny navbars na dia tsy ilaina aza ny fametrahana dynamic.
Raha manorina ny JavaScript avy amin'ny loharano ianao dia mitakyutil.js
.
Ny fenitry ny WAI ARIA dia mamaritra ny role="menu"
widget tena izy , saingy manokana amin'ny menus mitovy amin'ny fampiharana izay miteraka hetsika na asa. Ny menio ARIA dia tsy afaka mirakitra afa-tsy ireo singa sakafo, ireo singa ao amin'ny boaty fanamarihana, ireo singa ao amin'ny sakafo bokotra radio, ireo vondrona bokotra radio ary ireo zana-menina.
Ny fampidinana an'i Bootstrap kosa dia natao ho an'ny ankapobeny sy azo ampiharina amin'ny toe-javatra isan-karazany sy rafitra marika. Ohatra, azo atao ny mamorona dropdown izay misy fampidirana fanampiny sy fanaraha-maso ny endrika, toy ny sahan-karoka na ny endrika fidirana. Noho izany antony izany, Bootstrap dia tsy manantena (na manampy ho azy) ny iray amin'ireo role
toetra aria-
ilaina amin'ny menu ARIA marina . Ny mpanoratra dia tsy maintsy mampiditra ireo toetra manokana ireo ny tenany.
Na izany aza, ny Bootstrap dia manampy fanohanana natsangana ho an'ny ankamaroan'ny fifandraisana amin'ny sakafo fitendry mahazatra, toy ny fahafahana mivezivezy amin'ny .dropdown-item
singa tsirairay amin'ny fampiasana ny fanalahidin'ny cursor ary manidy ny sakafo amin'ny ESCfanalahidy.
Apetaho ao anaty .dropdown
, na singa iray hafa manambara ny position: relative;
. Ny dropdowns dia azo avy amin'ny singa <a>
na <button>
singa mba hifanaraka tsara kokoa amin'ny zavatra ilainao.
Ny singa .btn
tsirairay dia azo avadika ho toggle midina miaraka amin'ny fanovana marika. Ity ny fomba ahafahanao mampiasa azy ireo amin'ny <button>
singa roa:
<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>
Ary miaraka amin'ny <a>
singa:
<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>
Ny ampahany tsara indrindra dia azonao atao izany amin'ny variana bokotra rehetra ihany koa:
Torak'izany koa, mamorona fidinan'ny bokotra fisarahana miaraka amin'ny marika mitovy amin'ny fanidiana bokotra tokana, fa miaraka amin'ny fanampin'ny .dropdown-toggle-split
elanelana mety manodidina ny caret dropdown.
Ampiasainay ity kilasy fanampiny ity mba hampihenana ny marindrano padding
amin'ny lafiny roa amin'ny caret amin'ny 25% ary hanesorana ny margin-left
izay ampiana ho an'ny fanariana bokotra mahazatra. Ireo fanovana fanampiny ireo dia mitazona ny caret afovoany amin'ny bokotra fisarahana ary manome faritra voadona mifanentana kokoa eo akaikin'ny bokotra lehibe.
Ny fidinana bokotra dia miasa miaraka amin'ny bokotra amin'ny habe rehetra, ao anatin'izany ny bokotra midina midina sy misaraka.
Ampidiro ny menio midina eo ambonin'ny singa amin'ny fanampiana .dropup
ny singa ray.
Ampidiro ny menio midina eo an-kavanan'ireo singa amin'ny fanampiana .dropright
amin'ny singa ray.
Ampidiro ny menio midina eo ankavian'ireo singa amin'ny fanampiana .dropleft
ny singa ray.
Ny votoatin'ny menio midina ara-tantara dia tokony ho rohy, saingy tsy izany intsony no mitranga amin'ny v4. Ankehitriny ianao dia afaka mampiasa <button>
singa ao amin'ny dropdowns fa tsy <a>
s fotsiny.
<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>
Amin'ny alàlan'ny default, apetraka ho azy 100% avy any ambony sy eo amin'ny ilany havia amin'ny ray aman-dreniny ny menio midina. Ampio .dropdown-menu-right
amin'ny .dropdown-menu
rindran-kavanana ny menio midina.
Fampitandremana! Ny dropdowns dia napetraka noho ny Popper.js (afa-tsy rehefa voarakitra ao anaty navbar).
<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>
Manampia lohapejy hanamarihana ny ampahan'ny hetsika ao amin'ny menio midina.
<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>
Saraho ny vondrona misy sakafo mifandraika amin'ny fizarana.
<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>
Asio endrika iray ao anatin'ny menio midina, na ataovy ao anaty menio midina, ary ampiasao ny fampiasa amin'ny sisiny na padding mba hanomezana azy ny toerana ratsy ilainao.
<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>
Ampio .active
amin'ny singa ao amin'ny dropdown mba hametahana azy ireo ho mavitrika .
<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>
Ampio .disabled
amin'ny singa ao amin'ny dropdown mba hametahana azy ireo ho kilemaina .
<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>
Amin'ny alàlan'ny toetran'ny data na JavaScript, ny plugin fidinana dia mamadika votoaty miafina (meno midina) amin'ny alàlan'ny fanodina ny .show
kilasy amin'ny lisitry ny ray aman-dreny. Ny data-toggle="dropdown"
toetra dia iankinana amin'ny fanakatonana ny menio midina amin'ny ambaratonga fampiharana, noho izany dia tsara ny mampiasa azy foana.
Amin'ny fitaovana azo ampiasaina amin'ny fikitihana, ny fanokafana ny fidinana dia manampy mpiandraikitra ( $.noop
) tsy misy na inona na inona mouseover
amin'ireo ankizy avy hatrany amin'ilay <body>
singa. Ity hack tena ratsy ekena ity dia ilaina amin'ny fampandehanana ny quirk amin'ny delegasiona hetsika iOS , izay raha tsy izany dia manakana ny paompy na aiza na aiza ivelan'ny dropdown tsy hiteraka ny code izay manidy ny dropdown. Rehefa mihidy ny mouseover
fidinana dia esorina ireo mpikirakira poakaty fanampiny ireo.
Ampio data-toggle="dropdown"
amin'ny rohy na bokotra iray mba hivezivezena ny fidina.
Antsoy amin'ny alalan'ny JavaScript ny dropdowns:
data-toggle="dropdown"
mbola takiana
Na inona na inona miantso ny fidinao amin'ny JavaScript ianao na mampiasa ny data-api, data-toggle="dropdown"
dia tsy maintsy misy foana ny singa trigger an'ny dropdown.
Ny safidy dia azo alefa amin'ny alàlan'ny toetran'ny data na JavaScript. Ho an'ny toetran'ny data, ampidiro amin'ny data-
, toy ny ao amin'ny data-offset=""
.
Anarana | Type | toerana misy anao | Description |
---|---|---|---|
offset | laharana | string | asa | 0 | Offset amin'ny fidinana mifandraika amin'ny tanjony. Raha mila fanazavana fanampiny dia jereo ny Popper.js's offset docs . |
Atsimbadiho | boolean | marina | Avelao hihodina ny Dropdown raha sendra misy mifanipaka amin'ny singa fanondro. Raha mila fanazavana fanampiny dia jereo ny Popper.js's flip docs . |
sisin-tany | string | singa | 'scrollParent' | Fehezan'ny fihoaram-pefy amin'ny menio midina. Manaiky ny sandan'ny 'viewport' , 'window' , 'scrollParent' , na reference HTMLElement (JavaScript ihany). Raha mila fanazavana fanampiny dia jereo ny Popper.js's preventOverflow docs . |
Mariho rehefa boundary
apetraka amin'ny sanda hafa ankoatra ny 'scrollParent'
, ny fomba position: static
dia ampiharina amin'ny .dropdown
fitoeran-javatra.
FOMBA | Description |
---|---|
$().dropdown('toggle') |
Manova ny menio fidinan'ny navbar nomena na navigateur misy tabilao. |
$().dropdown('update') |
Manavao ny toeran'ny fidinan'ny singa iray. |
$().dropdown('dispose') |
Manimba ny fidinan'ny singa iray. |
Ny hetsika fidinana rehetra dia alefa amin'ny .dropdown-menu
singa ray aman-dreny ary manana relatedTarget
fananana, izay singa vatofantsika mifamadika ny sandany.
Event | Description |
---|---|
show.bs.dropdown |
Mirehitra avy hatrany ity hetsika ity rehefa antsoina ny fomba fampisehoana ohatra. |
shown.bs.dropdown |
Ity hetsika ity dia alefa rehefa hita ho hitan'ny mpampiasa ny fampidinana (hiandry ny fifindrana CSS, ho vita). |
hide.bs.dropdown |
Ity hetsika ity dia alefa avy hatrany rehefa nantsoina ny fomba fanafenana. |
hidden.bs.dropdown |
Voaroaka ity hetsika ity rehefa tapitra nafenina tamin'ny mpampiasa ny fampidinana (hiandry ny fifindrana CSS, ho vita). |