Módúil
Bain úsáid as breiseán módúil JavaScript Bootstrap chun dialóga a chur le do shuíomh le haghaidh boscaí solais, fógraí úsáideora, nó ábhar go hiomlán saincheaptha.
Conas a oibríonn sé
Sula dtosaíonn tú le comhpháirt mhódúil Bootstrap, bí cinnte an méid seo a leanas a léamh mar go bhfuil ár roghanna roghchláir athraithe le déanaí.
- Tógtar modhanna le HTML, CSS, agus JavaScript. Tá siad suite thar gach rud eile sa doiciméad agus bain an scrollbharra den
<body>
ionas go scrollaíonn an t-ábhar modha ina ionad. - Má chliceálann tú ar an “cúlra” módúil, dúnfar an modúl go huathoibríoch.
- Ní thacaíonn Bootstrap ach fuinneog mhódúil amháin ag an am. Ní thacaítear le módúil neadaithe mar creidimid gur droch-eispéiris úsáideoirí iad.
- Úsáideann modhanna
position: fixed
, rud a d'fhéadfadh a bheith beagán faoi leith uaireanta faoina rindreáil. Nuair is féidir, cuir do HTML módúil i suíomh barrleibhéil chun cur isteach féideartha ó eilimintí eile a sheachaint. Is dócha go mbeidh fadhbanna agat agus tú ag neadú.modal
laistigh d’eilimint sheasta eile. - Arís eile, mar gheall ar
position: fixed
, tá roinnt caveat ann maidir le modúil a úsáid ar ghléasanna soghluaiste. Féach ar ár ndoiciméid tacaíochta brabhsálaí le haghaidh sonraí. - Mar gheall ar an gcaoi a sainmhíníonn HTML5 a shéimeantaic, níl aon éifeacht ag an
autofocus
tréith HTML i módúil Bootstrap. Chun an éifeacht chéanna a bhaint amach, bain úsáid as roinnt JavaScript saincheaptha:
$('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus')
})
prefers-reduced-motion
cheist na meán. Féach an
rannán tairiscint laghdaithe dár gcáipéisíocht inrochtaineachta .
Lean ort ag léamh le haghaidh taispeána agus treoirlínte úsáide.
Samplaí
Comhpháirteanna módúla
Anseo thíos tá sampla módúil statachposition
(a chiallaíonn go bhfuil sé agus display
gur sáraíodh é). San áireamh tá an ceanntásc módúil, an corp módúil (riachtanach le haghaidh padding
), agus buntásc módúil (roghnach). Iarraimid ort ceanntásca módúla a chur san áireamh le gníomhartha dífhostaithe nuair is féidir, nó gníomh dífhostú sainráite eile a sholáthar.
<div class="modal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Modal body text goes here.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
Taispeántas beo
Scoránaigh taispeána modha oibre trí chliceáil ar an gcnaipe thíos. Sleamhnóidh sé síos agus céimnithe isteach ó bharr an leathanaigh.
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
Cúlra statach
Nuair a bheidh an cúlra socraithe go statach, ní dhúnfaidh an modúl nuair a chliceálann sé lasmuigh air. Cliceáil ar an gcnaipe thíos chun triail a bhaint as.
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#staticBackdrop">
Launch static backdrop modal
</button>
<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="staticBackdropLabel">Modal title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Understood</button>
</div>
</div>
</div>
</div>
Scrollaigh ábhar fada
Nuair a éiríonn módúil rófhada le haghaidh radharc nó gléas an úsáideora, scrollaíonn siad neamhspleách ar an leathanach féin. Bain triail as an taispeántas thíos a fheiceáil cad atá i gceist againn.
Is féidir leat modha inscrollaithe a chruthú freisin a cheadaíonn an corp módúil a scrollú ach cur .modal-dialog-scrollable
le .modal-dialog
.
<!-- Scrollable modal -->
<div class="modal-dialog modal-dialog-scrollable">
...
</div>
Ingearach lárnach
Cuir .modal-dialog-centered
le .modal-dialog
lár an mhódúil go hingearach.
<!-- Vertically centered modal -->
<div class="modal-dialog modal-dialog-centered">
...
</div>
<!-- Vertically centered scrollable modal -->
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
...
</div>
Leideanna uirlisí agus popovers
Is féidir leideanna uirlisí agus popovers a chur laistigh de mhódúil mar is gá. Nuair a dhúntar módúil, déantar aon leideanna uirlisí agus popovers laistigh díobh a dhíbhe go huathoibríoch freisin.
<div class="modal-body">
<h5>Popover in a modal</h5>
<p>This <a href="#" role="button" class="btn btn-secondary popover-test" title="Popover title" data-content="Popover body content is set in this attribute.">button</a> triggers a popover on click.</p>
<hr>
<h5>Tooltips in a modal</h5>
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>
Ag baint úsáide as an eangach
Bain úsáid as córas eangaí Bootstrap laistigh de mhódúil trí neadú .container-fluid
laistigh den .modal-body
. Ansin, bain úsáid as na gnáthranganna córais eangaí mar a dhéanfá áit ar bith eile.
<div class="modal-body">
<div class="container-fluid">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 ml-auto">.col-md-4 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-3 ml-auto">.col-md-3 .ml-auto</div>
<div class="col-md-2 ml-auto">.col-md-2 .ml-auto</div>
</div>
<div class="row">
<div class="col-md-6 ml-auto">.col-md-6 .ml-auto</div>
</div>
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-8 col-sm-6">
Level 2: .col-8 .col-sm-6
</div>
<div class="col-4 col-sm-6">
Level 2: .col-4 .col-sm-6
</div>
</div>
</div>
</div>
</div>
</div>
Ábhar modha éagsúil
An bhfuil braon cnaipí agat a spreagann an modh céanna agus a bhfuil ábhair beagán difriúil acu? Úsáid event.relatedTarget
agus tréithe HTML ( data-*
trí jQuery b'fhéidir ) chun inneachar an mhódúil a athrú ag brath ar an gcnaipe ar a ndearnadh cliceáil.
Anseo thíos tá taispeántas beo agus HTML agus JavaScript mar shampla. Le haghaidh tuilleadh faisnéise, léigh na doiciméid um imeachtaí módúla le haghaidh sonraí ar relatedTarget
.
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@getbootstrap">Open modal for @getbootstrap</button>
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">New message</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="recipient-name" class="col-form-label">Recipient:</label>
<input type="text" class="form-control" id="recipient-name">
</div>
<div class="form-group">
<label for="message-text" class="col-form-label">Message:</label>
<textarea class="form-control" id="message-text"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Send message</button>
</div>
</div>
</div>
</div>
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var recipient = button.data('whatever') // Extract info from data-* attributes
// If necessary, you could initiate an AJAX request here (and then do the updating in a callback).
// Update the modal's content. We'll use jQuery here, but you could use a data binding library or other methods instead.
var modal = $(this)
modal.find('.modal-title').text('New message to ' + recipient)
modal.find('.modal-body input').val(recipient)
})
Athraigh beochan
Cinneann an t- $modal-fade-transform
athróg an staid claochlaithe .modal-dialog
roimh an beochan céimnithe módúil, $modal-show-transform
socraíonn an athróg an claochlú .modal-dialog
ag deireadh na beochana modha céimnithe-i.
Más mian leat mar shampla beochan súmáil isteach, is féidir leat $modal-fade-transform: scale(.8)
.
Bain beochan
Le haghaidh módúil atá le feiceáil go simplí seachas céimnithe isteach chun amharc, bain an .fade
rang de do mharcáil módúil.
<div class="modal" tabindex="-1" aria-labelledby="..." aria-hidden="true">
...
</div>
Airde dinimiciúil
Má athraíonn airde módúil agus é oscailte, ba cheart duit glaoch $('#myModal').modal('handleUpdate')
chun suíomh an mhódúil a athcheartú ar eagla go bhfeicfear scrollbharra.
Inrochtaineacht
Bí cinnte aria-labelledby="..."
, ag tagairt don teideal módúil, a chur le .modal
. Ina theannta sin, is féidir leat cur síos a dhéanamh ar do dialóg mhodhúil agus aria-describedby
ar .modal
. Tabhair faoi deara nach gá duit é a chur leis role="dialog"
toisc go gcuirimid leis é trí JavaScript cheana féin.
Físeáin YouTube a neadú
Chun físeáin YouTube a leabú i módúil tá gá le JavaScript breise nach bhfuil i Bootstrap chun athsheinm agus níos mó a stopadh go huathoibríoch. Féach ar an bpostáil cabhrach Stack Overflow seo le haghaidh tuilleadh eolais.
Méideanna roghnacha
Tá trí mhéid roghnacha ag na modúil, ar fáil trí ranganna mionathraithe le cur ar .modal-dialog
. Tosaíonn na méideanna seo ag brisphointí áirithe chun barraí scrollbharra cothrománacha ar phoirt amhairc níos cúinge a sheachaint.
Méid | Aicme | Leithead uasta módúil |
---|---|---|
Beaga | .modal-sm |
300px |
Réamhshocrú | Dada | 500px |
Mór | .modal-lg |
800px |
Breise mór | .modal-xl |
1140px |
Is é ár modh réamhshocraithe gan modhnóirí aicme modha an “mheánmhéide”.
<div class="modal-dialog modal-xl">...</div>
<div class="modal-dialog modal-lg">...</div>
<div class="modal-dialog modal-sm">...</div>
Úsáid
Scoránaigh an breiseán modha d’inneachar folaithe ar éileamh, trí tréithe sonraí nó JavaScript. Cuireann sé freisin .modal-open
leis an <body>
iompar scrollaithe réamhshocraithe a shárú agus gineann sé .modal-backdrop
a chun limistéar cliceáil a sholáthar chun módúil a thaispeántar a dhíbhe nuair a chliceálann tú lasmuigh den mhodh.
Trí tréithe sonraí
Modúl a ghníomhachtú gan JavaScript a scríobh. Socraigh data-toggle="modal"
ar eilimint rialtóra, cosúil le cnaipe, mar aon le data-target="#foo"
nó href="#foo"
chun modh sonrach a dhíriú chun scoránaigh.
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
Trí JavaScript
Cuir glaoch ar mhodúil le id myModal
le líne amháin JavaScript:
$('#myModal').modal(options)
Roghanna
Is féidir roghanna a chur ar aghaidh trí tréithe sonraí nó JavaScript. Maidir le tréithe sonraí, cuir ainm na rogha i gceangal le data-
, mar atá i data-backdrop=""
.
Ainm | Cineál | Réamhshocrú | Cur síos |
---|---|---|---|
chúlra | Boole nó an téad'static' |
fíor | Áirítear eilimint mhodúil chúlra. Mar mhalairt air sin, sonraigh static le haghaidh cúlra nach ndúnann an modúl ar chliceáil. |
méarchlár | Boole | fíor | Dúnann sé an modúl nuair a bhrúitear eochair éalaithe |
fócas | Boole | fíor | Cuireann sé an fócas ar an modha nuair a thosaigh sé. |
seó | Boole | fíor | Taispeánann sé an modúl nuair a thosaigh sé. |
Modhanna
Modhanna agus aistrithe asincrónacha
Tá gach modh API asincrónach agus cuireann siad tús le haistriú . Filleann siad ar an nglaoiteoir chomh luath agus a chuirtear tús leis an aistriú ach sula gcríochnaíonn sé . Ina theannta sin, ní thabharfar aird ar ghlao modha ar chomhpháirt trasdula .
Féach ar ár gcáipéisíocht JavaScript le haghaidh tuilleadh eolais .
.modal(options)
Gníomhachtaíonn d'ábhar mar mhodh modúl. Glacann rogha roghnach object
.
$('#myModal').modal({
keyboard: false
})
.modal('toggle')
Scoránaigh modúl de láimh. Filleann sé ar an nglaoiteoir sula dtaispeántar nó sula gcuirtear i bhfolach an modúl (.i. sula dtarlaíonn an shown.bs.modal
nó an teagmhas).hidden.bs.modal
$('#myModal').modal('toggle')
.modal('show')
Osclaíonn modúl de láimh. Filleann sé ar an nglaoiteoir sula dtaispeántar an modúl iarbhír (.i. sula shown.bs.modal
dtarlaíonn an teagmhas).
$('#myModal').modal('show')
.modal('hide')
Folaigh modúl de láimh. Filleann sé ar an nglaoiteoir sula gcuirtear an modh i bhfolach (ie sula hidden.bs.modal
dtarlaíonn an teagmhas).
$('#myModal').modal('hide')
.modal('handleUpdate')
Déan suíomh an mhódúil a athcheartú de láimh má athraíonn airde an mhódúil agus é oscailte (ie ar eagla go bhfeictear scrollbharra).
$('#myModal').modal('handleUpdate')
.modal('dispose')
Scriosann modhúil eilimint.
Imeachtaí
Nochtann rang modha Bootstrap roinnt imeachtaí chun dul i ngleic le feidhmiúlacht mhódúil. Cuirtear na himeachtaí módúla go léir chun cinn ag an modúl féin (.i. ag an <div class="modal">
).
Cineál Imeachta | Cur síos |
---|---|
taispeáin.bs.módúil | Téann an teagmhas seo chun solais láithreach nuair show a ghlaoitear an modh ásc. Más cliceáil is cúis leis, tá an eilimint chliceáilte ar fáil mar relatedTarget airí an imeachta. |
léirithe.bs.modal | Cuirtear an teagmhas seo ar ceal nuair a bheidh an modúl infheicthe don úsáideoir (fanfaidh sé go mbeidh na haistrithe CSS curtha i gcrích). Más cliceáil is cúis leis, tá an eilimint chliceáilte ar fáil mar relatedTarget airí an imeachta. |
folaigh.bs.módúil | Cuirtear an teagmhas seo ar ceal láithreach nuair a bhíonn an hide modh ásc glaoite. |
i bhfolach.bs.modal | Tá an teagmhas seo bréan nuair a bhíonn an mód críochnaithe á chur i bhfolach ón úsáideoir (fanfaidh sé go mbeidh aistrithe CSS le cur i gcrích). |
hidePrevented.bs.modal | Cealaítear an teagmhas seo nuair a thaispeánfar an modúl, tá a chúlra ann static agus cliceáil lasmuigh den mhodh nó nuair a dhéantar brúigh eochair éalaithe leis an rogha méarchlár nó data-keyboard socraithe go false . |
$('#myModal').on('hidden.bs.modal', function (event) {
// do something...
})