Source

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 scrolla as an <body>ionas go scrollaíonn á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 caveats 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')
})

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" role="dialog">
  <div class="modal-dialog" role="document">
    <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" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <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>

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.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalLong">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModalLong" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLongTitle">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>

Ingearach lárnach

Cuir .modal-dialog-centeredle .modal-dialoglár an mhódúil go hingearach.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModalCenter">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModalCenter" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalCenterTitle">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>

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" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <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)
})

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" role="dialog" 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 suimiú role="dialog"agus aria-labelledby="...", ag tagairt don teideal módúil, le .modal, agus role="document"leis an teideal .modal-dialogféin. Ina theannta sin, is féidir leat cur síos a dhéanamh ar do dialóg mhodhúil agus aria-describedbyar .modal.

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á dhá 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.

<!-- Large modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>

<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      ...
    </div>
  </div>
</div>

<!-- Small modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-sm">Small modal</button>

<div class="modal fade bd-example-modal-sm" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-sm">
    <div class="modal-content">
      ...
    </div>
  </div>
</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 díriú ar mhodh sonrach chun scoránaigh.

<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

Trí JavaScript

Glaoigh ar mhódú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 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 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 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 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.módúil 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).
$('#myModal').on('hidden.bs.modal', function (e) {
  // do something...
})