in English

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, 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ú .modallaistigh 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 autofocustré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')
})

Tá éifeacht beochana an chomhpháirt seo ag brath ar prefers-reduced-motioncheist 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í

Anseo thíos tá sampla módúil statachposition (a chiallaíonn go bhfuil sé agus displaygur 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">&times;</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">&times;</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">&times;</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-scrollablele .modal-dialog.

<!-- Scrollable modal -->
<div class="modal-dialog modal-dialog-scrollable">
  ...
</div>

Ingearach lárnach

Cuir .modal-dialog-centeredle .modal-dialoglá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-fluidlaistigh 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 sraith cnaipí agat a spreagann an modh céanna agus a bhfuil ábhair beagán difriúil acu? Úsáid event.relatedTargetagus 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">&times;</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-transformathróg an staid claochlaithe .modal-dialogroimh an beochan céimnithe módúil, $modal-show-transformsocraíonn an athróg an claochlú .modal-dialogag 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 sa radharc, bain an .faderang 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-describedbyar .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 modúl réamhshocraithe gan modhnóirí an modúl “meá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-openleis an <body>iompar scrollaithe réamhshocraithe a shárú agus gineann sé .modal-backdropa 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"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 myModalle 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 staticle 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 modha 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 a luaithe 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.modalnó 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.modaldtarlaí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.modaldtarlaí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 teagmhais mhó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 showa ghlaoitear an modh ásc. Más cliceáil is cúis leis, tá an eilimint chliceáilte ar fáil mar relatedTargetairí 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 relatedTargetairí an imeachta.
folaigh.bs.módúil Cuirtear an teagmhas seo ar ceal láithreach nuair hidea ghlaoitear an modh ásc.
i bhfolach.bs.modal Tá an teagmhas seo bréan nuair a bhíonn an módúil curtha 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 staticagus cliceáil lasmuigh den mhodh nó nuair a dhéantar brúigh eochair éalaithe leis an rogha méarchlár nó data-keyboardsocraithe go false.
$('#myModal').on('hidden.bs.modal', function (e) {
  // do something...
})