ድሮፕዳውንድስ
ዝርዝር መላግቦታትን ካልእን ንምርኣይ ብBotstrap ንቑልቁል ዝወርድ ፕላግ-ኢን ንምርኣይ ዓውደ-ጽሑፋዊ ምድብላቕ ምቕያር።
ንቑልቁል ዝወርድ ዝርዝር መላግቦታትን ካልእን ንምርኣይ ዝሕግዙ ተለዋወጥቲ ዝኾኑ፣ ዓውደ-ጽሑፋዊ ምድብላቕ እዮም። በቲ ዝተሓወሶ ቡትስትራፕ ንቑልቁል ዝወርድ ጃቫስክሪፕት ፕላግ-ኢን መስተጋብራዊ ይኾኑ። ብምጥዋቕ እምበር ብምንሳሕ ኣይኮኑን ዝቕየሩ፤ እዚ ኮነ ኢልካ ዝተገብረ ውሳነ ዲዛይን እዩ።
ድሮፕዳውንድ ኣብ ሳልሳይ ወገን ቤተ-መጻሕፍቲ ዝተሃንጸ ኮይኑ ፡ Popper.js ፡ ዳይናሚክ ኣቀማምጣን ቪውፖርት ምልላይን ይህብ። ቅድሚ ናይ Bootstrap ጃቫስክሪፕት popper.min.js ምእታውካ ኣረጋግጽ ወይ Popper.js ዝሓዘ bootstrap.bundle.min.js
/ ተጠቐም። bootstrap.bundle.js
Popper.js ዳይናሚክ ኣቀማምጣ ስለዘየድሊ ግን ኣብ navbars ንውድቀት ንምቕማጥ ኣይጥቀመሉን እዩ።
ጃቫስክሪፕትናutil.js
ካብ ምንጪ ትሃንጽ እንተኾንካ ፡ .
እቲ WAI ARIA ደረጃ ንሓደ ጭቡጥ role="menu"
ዊጀት ይገልጽ , እዚ ግን ንተግባራት ወይ ተግባራት ዝቐስቅሱ መተግበሪ ዝመስሉ ምልክታታት ፍሉይ እዩ። ናይ ARIA ምልክታታት ናይ ምልክት ዝርዝር ነገራት፣ ናይ ምልክት ሳጹን ዝርዝር ነገራት፣ ናይ ሬድዮ መጠወቒ ዝርዝር ነገራት፣ ናይ ሬድዮ መጠወቒ ጉጅለታትን ንኡሳን ምልክታታትን ጥራይ ክሕዙ ይኽእሉ።
ብኣንጻሩ ናይ ቡትስትራፕ ድሮፕዳውንድስ ሓፈሻዊን ንዝተፈላለየ ኩነታትን ማርካፕ ቅርጽታትን ዝምልከትን ክኾኑ ዝተዳለዉ እዮም። ንኣብነት ተወሳኺ እታዎታትን ቁጽጽር ቅጥዕን ዝሓዙ ንቑልቁል ዝወርዱ ነገራት ምፍጣር ይከኣል እዩ፣ ከም ናይ ምድላይ ዓውድታት ወይ ናይ መእተዊ ቅጥዕታት። በዚ ምኽንያት እዚ፡ ቡትስትራፕ ንሓቀኛታት ARIA ምልክታታት ዘድልዩ role
ዝኾነን ባህርያትን ኣይጽበን (ወይ ብኣውቶማቲክ ኣይውስኽን) ። ጸሓፍቲ ነዞም ዝያዳ ፍሉያት ባህርያት ባዕሎም ከካትትዎም ክግደዱ እዮም።aria-
ይኹን እምበር፡ ቡትስትራፕ ንመብዛሕትኦም መደበኛ ናይ ሰሌዳ ቁልፊ ምልክት ምትእስሳር ኣብ ውሽጢ ዝተሃንጸ ደገፍ ይውስኽ እዩ፡ ከም ናይ .dropdown-item
መመልከቲ መፍትሕታት ተጠቒምካ ብውልቀ ባእታታት ናይ ምዝዋርን ነቲ ዝርዝር ESCብመፍትሕ ምዕጻውን ዓቕሚ።
ናይቲ ንቑልቁል ዝወርድ ቶግለር (ናትካ መጠወቒ ወይ መላግቦ) ከምኡውን ነቲ ንቑልቁል ዝወርድ ዝርዝር ኣብ ውሽጢ .dropdown
፣ ወይ ካልእ ን ዝእውጅ ባእታ ጠቕልሎ position: relative;
። ድሮፕዳውንድ ካብ <a>
ወይ <button>
ባእታታት ክብገሱ ይኽእሉ እዮም ብዝበለጸ ምስ ክህልዉኻ ዝኽእሉ ድሌታት ክሰማምዑ።
ዝኾነ ንጽል .btn
ምስ ገለ ናይ ምልክት ለውጢ ናብ ንቑልቁል ዝወርድ ቶግል ክቕየር ይኽእል። <button>
ብኽልቲኡ ባእታታት ብኸመይ ክትሰርሖም ከም እትኽእል ኣብዚ ኣሎ ፤
<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>
ምስ <a>
ባእታታት ድማ፤
<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>
እቲ ዝበለጸ ክፋል እዚ ምስ ዝኾነ ናይ መጠወቒ ፍልልይ ክትገብር ትኽእል ኢኻ፣ ንስኻ እውን፤
ብተመሳሳሊ፡ ዳርጋ ከም ሓደ መጠወቒ ንቑልቁል ዝወርድ ምልክት ዘለዎም ዝተመቕሉ መጠወቒታት ንቑልቁል ፍጠር፣ ግን ከኣ ኣብ .dropdown-toggle-split
ዙርያ እቲ ንቑልቁል ዝወርድ ካሬት ግቡእ ርሕቀት ንምርካብ ብምውሳኽ።
ነዚ ተወሳኺ ክፍሊ ንጥቀመሉ padding
ኣብ ክልቲኡ ወገን ናይቲ ካሬት ዘሎ ኣግማድ ብ25% ንምንካይን ነቲ margin-left
ንስሩዕ መጠወቒ ምውራድ ዝተወሰኸ ንምእላይን። እቶም ተወሳኺ ለውጥታት ነቲ ካሬት ኣብቲ ዝተመቕለ መጠወቒ ማእከል ገይሩ ይገብርዎን ኣብ ጎኒ እቲ ቀንዲ መጠወቒ ዝያዳ ዝምጥን ዓቐን ዘለዎ ናይ ምውቃዕ ቦታ ይህቡን።
ንቑልቁል ዝወርድ መጠወቒታት ምስ ኩሉ ዓቐን ዘለዎም መጠወቒታት ይሰርሑ፣ ነባሪን ዝተመቕሉን ንቑልቁል ዝወርድ መጠወቒታት ሓዊስካ።
.dropup
ኣብ ልዕሊ ባእታታት ንዘለዉ ንቑልቁል ዝወርድ ምልክታታት ኣብቲ ወላዲ ባእታ ብምውሳኽ ኣበግስ።
.dropright
ኣብቲ ወላዲ ባእታ ብምውሳኽ ኣብ የማናይ ሸነኽ ናይቶም ባእታታት ዝርከቡ ንቑልቁል ዝወርድ ምልክታታት ኣበግስ ።
.dropleft
ኣብቲ ወላዲ ባእታ ብምውሳኽ ኣብ ጸጋማይ ሸነኽ ናይቶም ባእታታት ዝርከቡ ንቑልቁል ዝወርድ ምልክታታት ጀምር ።
ብታሪኽ ንቑልቁል ዝወርድ ትሕዝቶታት ዝርዝር መላግቦታት ክኾኑ ነይርዎም ፡ ግን ድሕሪ ሕጂ ኣብ v4 ከምኡ ኣይኮነን። <button>
ሕጂ ብኣማራጺ ኣብ ክንዲ <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>
ብነባሪ መልክዑ፡ ሓደ ንቑልቁል ዝወርድ ዝርዝር ብኣውቶማቲክ ካብ ላዕሊን ብጸጋማይ ሸነኽ ወላዲኡን 100% ይቕመጥ። .dropdown-menu-right
ናብ a ወስኹ ናብ .dropdown-menu
የማን ነቲ ንቑልቁል ዝወርድ ዝርዝር ኣሰላልፍዎ።
ርእሲ ንላዕሊ! ድሮፕዳውንድ ሳላ Popper.js (ብዘይካ ኣብ 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>
ኣብ ዝኾነ ንቑልቁል ዝወርድ ዝርዝር ንክፋላት ተግባራት ስያመ ንምሃብ ርእሲ ምውሳኽ።
<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>
ንጉጅለታት ናይ ተዛመድቲ ናይ ምልክት ዝርዝር ነገራት ብመከፋፈልቲ ምፍላይ።
<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>
ንሓደ ቅጥዒ ኣብ ውሽጢ ንቑልቁል ዝወርድ ዝርዝር ኣቐምጦ፣ ወይ ናብ ንቑልቁል ዝወርድ ዝርዝር ግበሮ፣ ከምኡውን ማርጅን ወይ ፓዲንግ ዩቲሊቲታት ተጠቐም እሞ እቲ እትደልዮ ኣሉታዊ ቦታ ሃቦ።
<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>
.active
ኣብቲ ንቑልቁል ዝወርድ ነገራት ከም ንጡፋት ቅዲ ንምግባር ወስኸሎም ።
<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>
.disabled
ኣብቲ ንቑልቁል ዝወርድ ነገራት ከም ዝተሰናኸሉ ቅዲ ንምግባር ወስኸሎም ።
<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>
.show
ብመንገዲ ባህርያት ዳታ ወይ ጃቫስክሪፕት፡ እቲ ንቑልቁል ዝወርድ ተወሰኽቲ፡ ነቲ ክፍሊ ኣብቲ ወላዲ ዝርዝር ኣቕሓ ብምቕያር፡ ንዝተሓብአ ትሕዝቶ (ንቑልቁል ዝወርድ ዝርዝር) ይቕይሮ ። እቲ data-toggle="dropdown"
ባህሪ ብደረጃ መተግበሪ ንዝርከቡ ንቑልቁል ዝወርድ ምልክታታት ንምዕጻው ዝጽጋዕ እዩ፣ ስለዚ ኩሉ ግዜ ክትጥቀመሉ ጽቡቕ ሓሳብ እዩ።
ኣብ ምትንኻፍ ዝኽእል መሳርሒታት፡ ንቑልቁል ዝወርድ ምኽፋት ባዶ ( $.noop
) mouseover
መትሓዚታት ናብቶም ናይ ቀረባ ቆልዑ ናይቲ <body>
ባእታ ይውስኽ። This admittedly ugly hack is necessary to work around a quirk in iOS' event delegation , እዚ እንተዘይኮይኑ ካብቲ ንቑልቁል ዝወርድ ወጻኢ ኣብ ዝኾነ ቦታ ምጥዋይ ነቲ ንቑልቁል ዝወርድ ኮድ ካብ ምብጋስ ክኽልክል ምኸኣለ። እቲ ንቑልቁል ዝወርድ ምስ ተዓጽወ፡ እዞም ተወሳኺ ባዶ mouseover
ዝኾኑ መትሓዚታት ይእለዩ።
data-toggle="dropdown"
ንሓደ ንቑልቁል ዝወርድ ንቑልቁል ንምቕያር ናብ ሓደ ሊንክ ወይ መጠወቒ ወስኹ ።
ብመንገዲ ጃቫስክሪፕት ናብቶም ንቑልቁል ዝወርድ ደውሉ፤
data-toggle="dropdown"
ሕጂ’ውን ኣድላዪ እዩ።
ንቑልቁል ዝወርድካ ብመንገዲ ጃቫስክሪፕት ትድውለሉ ወይ ኣብ ክንድኡ ነቲ data-api ትጥቀም ብዘየገድስ data-toggle="dropdown"
፡ ኩሉ ግዜ ኣብቲ ንቑልቁል ዝወርድ መበገሲ ባእታ ህልው ክህሉ ይግደድ።
ኣማራጺታት ብመንገዲ ዳታ ባህርያት ወይ ጃቫስክሪፕት ክሓልፉ ይኽእሉ። ንባህርያት ዳታ፡ ስም ኣማራጺ ናብ ምውሳኽ data-
፡ ከምቲ ኣብ data-offset=""
.
ሽም | ዓይነት | ትሑዝ | መግለፂ |
---|---|---|---|
ኦፍሴት ዝበሃል ምዃኑ’ዩ። | ቁጽሪ | ሕብረ ቃላት | ተግባር | 0. | ምትዕርራይ ናይቲ ምውራድ ብተዛማዲ ምስቲ ዕላማኡ። ንዝያዳ ሓበሬታ ኣብ Popper.js's offset docs ተወከሱ ። |
መንገብገብ | ቡልያን ዝብል እዩ። | ሓቂ | ኣብቲ መወከሲ ባእታ ምድብላቕ እንተጋጢሙ ድሮፕዳውን ክግልበጥ ፍቐደሉ። ንዝያዳ ሓበሬታ ኣብ Popper.js's flip docs ተወከሱ ። |
ዶብ ምዃኑ’ዩ። | ሕብረ ቃላት | ባእታ | 'ስክሮልወላዲ'። | ናይ ምፍሳስ ደረት ዶብ ናይቲ ንቑልቁል ዝወርድ ዝርዝር። 'viewport' ናይ , 'window' , 'scrollParent' , ወይ ናይ HTMLElement መወከሲ ክብርታት ይቕበል (ጃቫስክሪፕት ጥራይ)። ንዝያዳ ሓበሬታ ኣብ Popper.js's preventOverflow docs ተወከሱ ። |
ኣስተውዕል boundary
ካብ , ናብ ዝኾነ ዋጋ ክቕመጥ ከሎ 'scrollParent'
፣ እቲ ቅዲ ኣብቲ መትሓዚ position: static
ይትግበር ።.dropdown
ሜላ | መግለፂ |
---|---|
$().dropdown('toggle') |
ናይ ሓደ ዝተዋህበ ናቭባር ወይ ትቦ ዘለዎ ምድህሳስ ንቑልቁል ዝወርድ ዝርዝር ይቕይሮ። |
$().dropdown('update') |
ናይ ሓደ ባእታ ንቑልቁል ዝወርድ ቦታ ኣቀማምጣ የዘምን። |
$().dropdown('dispose') |
ናይ ሓደ ባእታ ንቑልቁል ዝወርድ የጥፍኦ። |
ኩሎም ንቑልቁል ዝወርድ ፍጻመታት ኣብቲ .dropdown-menu
's ወላዲ ባእታ ይትኮሱን ንብረት ኣለዎምን relatedTarget
፣ ዋጋኡ ድማ እቲ ዝቕይር መልህቕ ባእታ እዩ።
ዝግጅት | መግለፂ |
---|---|
show.bs.dropdown |
እዚ ፍጻመ እዚ show instance ሜላ ምስ ዝጽዋዕ ብቕጽበት ይትኩስ። |
shown.bs.dropdown |
እዚ ክስተት ዝትኮስ እቲ ንቑልቁል ዝወርድ ንተጠቃሚ ርኡይ ምስ ዝኸውን እዩ (ክሳብ CSS ምስግጋራት ክጽበ እዩ፣ ክሳብ ዝዛዘም)። |
hide.bs.dropdown |
እዚ ፍጻመ እዚ እቲ hide instance method ምስ ተጸውዐ ብቕጽበት ይትኮስ። |
hidden.bs.dropdown |
እዚ ፍጻመ እዚ እቲ ንቑልቁል ዝወርድ ካብ ተጠቃሚ ምሕባእ ምስ ወድአ እዩ ዝትኮስ (ንCSS ምስግጋራት ክጽበ እዩ፣ ክሳብ ዝዛዘም)። |