Neidio i'r prif gynnwys Neidio i lywio dogfennau
Check
in English

moddol

Defnyddiwch ategyn moddol JavaScript Bootstrap i ychwanegu deialogau at eich gwefan ar gyfer blychau golau, hysbysiadau defnyddwyr, neu gynnwys cwbl arferol.

Sut mae'n gweithio

Cyn dechrau ar gydran foddol Bootstrap, gwnewch yn siŵr eich bod chi'n darllen y canlynol gan fod ein hopsiynau bwydlen wedi newid yn ddiweddar.

  • Mae modiwlau'n cael eu hadeiladu gyda HTML, CSS, a JavaScript. Maent wedi'u lleoli dros bopeth arall yn y ddogfen ac yn tynnu sgrôl o'r <body>fel bod cynnwys moddol yn sgrolio yn lle hynny.
  • Bydd clicio ar y “cefndir” moddol yn cau'r moddol yn awtomatig.
  • Dim ond un ffenestr foddol y mae Bootstrap yn ei chynnal ar y tro. Nid yw moddau nythu yn cael eu cefnogi gan ein bod yn credu eu bod yn brofiadau gwael gan ddefnyddwyr.
  • Mae moddau'n defnyddio position: fixed, a all weithiau fod ychydig yn benodol am ei rendrad. Lle bynnag y bo modd, rhowch eich HTML moddol mewn safle lefel uchaf er mwyn osgoi ymyrraeth bosibl gan elfennau eraill. Mae'n debyg y byddwch chi'n wynebu problemau wrth nythu o .modalfewn elfen sefydlog arall.
  • Unwaith eto, oherwydd position: fixed, mae rhai cafeatau gyda defnyddio moddau ar ddyfeisiau symudol. Gweler ein dogfennau cymorth porwr am fanylion.
  • Oherwydd sut mae HTML5 yn diffinio ei semanteg, nid yw'r autofocuspriodoledd HTML yn cael unrhyw effaith mewn moddau Bootstrap. I gyflawni'r un effaith, defnyddiwch JavaScript arferol:
const myModal = document.getElementById('myModal')
const myInput = document.getElementById('myInput')

myModal.addEventListener('shown.bs.modal', () => {
  myInput.focus()
})
Mae effaith animeiddio'r gydran hon yn dibynnu ar prefers-reduced-motionymholiad y cyfryngau. Gweler adran cynnig gostyngol ein dogfennaeth hygyrchedd .

Daliwch ati i ddarllen am demos a chanllawiau defnydd.

Enghreifftiau

Isod mae enghraifft moddol statig (sy'n golygu ei positionac displaywedi cael ei diystyru). Yn gynwysedig mae'r pennawd moddol, y corff moddol (sy'n ofynnol ar gyfer padding), a'r troedyn moddol (dewisol). Gofynnwn i chi gynnwys penawdau moddol gyda chamau diswyddo pryd bynnag y bo modd, neu ddarparu cam diswyddo penodol arall.

<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="btn-close" data-bs-dismiss="modal" aria-label="Close"></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-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Demo byw

Toggle demo modd gweithio trwy glicio ar y botwm isod. Bydd yn llithro i lawr ac yn pylu i mewn o frig y dudalen.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-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="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

Cefndir statig

Pan fydd y cefndir wedi'i osod yn sefydlog, ni fydd y moddol yn cau wrth glicio y tu allan iddo. Cliciwch ar y botwm isod i roi cynnig arni.

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#staticBackdrop">
  Launch static backdrop modal
</button>

<!-- Modal -->
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-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="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        ...
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Understood</button>
      </div>
    </div>
  </div>
</div>

Sgrolio cynnwys hir

Pan fydd moddau'n mynd yn rhy hir ar gyfer golygfa neu ddyfais y defnyddiwr, maen nhw'n sgrolio'n annibynnol ar y dudalen ei hun. Rhowch gynnig ar y demo isod i weld beth rydym yn ei olygu.

Gallwch hefyd greu modd y gellir ei sgrolio sy'n caniatáu sgrolio'r corff moddol trwy ychwanegu .modal-dialog-scrollableat .modal-dialog.

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

Wedi'i ganoli'n fertigol

Ychwanegu .modal-dialog-centeredat .modal-dialogganol fertigol y moddol.

<!-- 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>

Awgrymiadau offer a popovers

Gellir gosod awgrymiadau offer a popovers o fewn moddau yn ôl yr angen . Pan fydd moddau ar gau, mae unrhyw awgrymiadau offer a popovers ynddynt hefyd yn cael eu diystyru'n awtomatig.

<div class="modal-body">
  <h5>Popover in a modal</h5>
  <p>This <a href="#" role="button" class="btn btn-secondary" data-bs-toggle="popover" title="Popover title" data-bs-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="#" data-bs-toggle="tooltip" title="Tooltip">This link</a> and <a href="#" data-bs-toggle="tooltip" title="Tooltip">that link</a> have tooltips on hover.</p>
</div>

Gan ddefnyddio'r grid

Defnyddiwch system grid Bootstrap o fewn moddol trwy nythu .container-fluido fewn y .modal-body. Yna, defnyddiwch y dosbarthiadau system grid arferol fel y byddech yn unrhyw le arall.

<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 ms-auto">.col-md-4 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-3 ms-auto">.col-md-3 .ms-auto</div>
      <div class="col-md-2 ms-auto">.col-md-2 .ms-auto</div>
    </div>
    <div class="row">
      <div class="col-md-6 ms-auto">.col-md-6 .ms-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>

Cynnwys moddol amrywiol

Oes gennych chi griw o fotymau sydd i gyd yn sbarduno'r un modd gyda chynnwys ychydig yn wahanol? Defnyddio event.relatedTargeta phriodoleddau HTMLdata-bs-* i amrywio cynnwys y moddol yn dibynnu ar ba fotwm y cliciwyd arno.

Isod mae demo byw ac yna HTML a JavaScript enghreifftiol. I gael rhagor o wybodaeth, darllenwch y dogfennau digwyddiadau moddol am fanylion ar relatedTarget.

html
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@mdo">Open modal for @mdo</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-whatever="@fat">Open modal for @fat</button>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal" data-bs-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="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        <form>
          <div class="mb-3">
            <label for="recipient-name" class="col-form-label">Recipient:</label>
            <input type="text" class="form-control" id="recipient-name">
          </div>
          <div class="mb-3">
            <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-bs-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Send message</button>
      </div>
    </div>
  </div>
</div>
const exampleModal = document.getElementById('exampleModal')
exampleModal.addEventListener('show.bs.modal', event => {
  // Button that triggered the modal
  const button = event.relatedTarget
  // Extract info from data-bs-* attributes
  const recipient = button.getAttribute('data-bs-whatever')
  // If necessary, you could initiate an AJAX request here
  // and then do the updating in a callback.
  //
  // Update the modal's content.
  const modalTitle = exampleModal.querySelector('.modal-title')
  const modalBodyInput = exampleModal.querySelector('.modal-body input')

  modalTitle.textContent = `New message to ${recipient}`
  modalBodyInput.value = recipient
})

Toggle rhwng moddau

Toglo rhwng moddau lluosog gyda rhywfaint o leoliad clyfar o'r data-bs-targeta data-bs-togglephriodoleddau. Er enghraifft, fe allech chi toglo modd ailosod cyfrinair o fewn arwydd sydd eisoes ar agor mewn moddol. Sylwch na all moddau lluosog fod ar agor ar yr un pryd - mae'r dull hwn yn toglo rhwng dau foddol ar wahân.

Agor modd cyntaf
html
<div class="modal fade" id="exampleModalToggle" aria-hidden="true" aria-labelledby="exampleModalToggleLabel" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel">Modal 1</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Show a second modal and hide this one with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle2" data-bs-toggle="modal">Open second modal</button>
      </div>
    </div>
  </div>
</div>
<div class="modal fade" id="exampleModalToggle2" aria-hidden="true" aria-labelledby="exampleModalToggleLabel2" tabindex="-1">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalToggleLabel2">Modal 2</h5>
        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
      </div>
      <div class="modal-body">
        Hide this modal and show the first with the button below.
      </div>
      <div class="modal-footer">
        <button class="btn btn-primary" data-bs-target="#exampleModalToggle" data-bs-toggle="modal">Back to first</button>
      </div>
    </div>
  </div>
</div>
<a class="btn btn-primary" data-bs-toggle="modal" href="#exampleModalToggle" role="button">Open first modal</a>

Newid animeiddiad

Mae'r $modal-fade-transformnewidyn yn pennu cyflwr trawsnewid .modal-dialogcyn yr animeiddiad pylu moddol, mae'r $modal-show-transformnewidyn yn pennu'r trawsnewidiad .modal-dialogar ddiwedd yr animeiddiad pylu moddol.

Os ydych chi eisiau animeiddiad chwyddo i mewn er enghraifft, gallwch chi osod $modal-fade-transform: scale(.8).

Dileu animeiddiad

Ar gyfer modiwlau sy'n ymddangos yn syml yn hytrach na diflannu i'r golwg, tynnwch y .fadedosbarth o'ch marc moddol.

<div class="modal" tabindex="-1" aria-labelledby="..." aria-hidden="true">
  ...
</div>

Uchder deinamig

Os yw uchder modd newid tra ei fod ar agor, dylech ffonio myModal.handleUpdate()i ail-addasu safle'r modd rhag ofn y bydd bar sgrolio yn ymddangos.

Hygyrchedd

Gwnewch yn siŵr eich bod yn ychwanegu aria-labelledby="...", gan gyfeirio at y teitl moddol, at .modal. Yn ogystal, gallwch roi disgrifiad o'ch deialog moddol gydag aria-describedbyon .modal. Sylwch nad oes angen i chi ychwanegu role="dialog"gan ein bod eisoes yn ei ychwanegu trwy JavaScript.

Mewnosod fideos YouTube

Mae gwreiddio fideos YouTube mewn moddau yn gofyn am JavaScript ychwanegol nid yn Bootstrap i atal chwarae a mwy yn awtomatig. Gweler y post defnyddiol Stack Overflow hwn am ragor o wybodaeth.

Meintiau dewisol

Mae gan foddau dri maint dewisol, sydd ar gael trwy ddosbarthiadau addasu i'w gosod ar .modal-dialog. Mae'r meintiau hyn yn cychwyn ar rai torbwyntiau er mwyn osgoi bariau sgrolio llorweddol ar olygfannau culach.

Maint Dosbarth Lled mwyaf moddol
Bach .modal-sm 300px
Diofyn Dim 500px
Mawr .modal-lg 800px
Mawr ychwanegol .modal-xl 1140px

Mae ein dosbarth moddol heb addasydd rhagosodedig yn gyfystyr â'r modd maint "canolig".

<div class="modal-dialog modal-xl">...</div>
<div class="modal-dialog modal-lg">...</div>
<div class="modal-dialog modal-sm">...</div>

Modal sgrin lawn

Diystyriad arall yw'r opsiwn i agor moddol sy'n cynnwys y porth golwg defnyddiwr, sydd ar gael trwy ddosbarthiadau addasydd a osodir ar .modal-dialog.

Dosbarth Argaeledd
.modal-fullscreen Bob amser
.modal-fullscreen-sm-down 576px
.modal-fullscreen-md-down 768px
.modal-fullscreen-lg-down 992px
.modal-fullscreen-xl-down 1200px
.modal-fullscreen-xxl-down 1400px
<!-- Full screen modal -->
<div class="modal-dialog modal-fullscreen-sm-down">
  ...
</div>

CSS

Newidynnau

Ychwanegwyd yn v5.2.0

Fel rhan o ddull newidynnau CSS esblygol Bootstrap, mae moddau bellach yn defnyddio newidynnau CSS lleol ar .modalac ar .modal-backdropgyfer addasu amser real gwell. Mae gwerthoedd ar gyfer y newidynnau CSS yn cael eu gosod trwy Sass, felly mae addasu Sass yn dal i gael ei gefnogi hefyd.

  --#{$prefix}modal-zindex: #{$zindex-modal};
  --#{$prefix}modal-width: #{$modal-md};
  --#{$prefix}modal-padding: #{$modal-inner-padding};
  --#{$prefix}modal-margin: #{$modal-dialog-margin};
  --#{$prefix}modal-color: #{$modal-content-color};
  --#{$prefix}modal-bg: #{$modal-content-bg};
  --#{$prefix}modal-border-color: #{$modal-content-border-color};
  --#{$prefix}modal-border-width: #{$modal-content-border-width};
  --#{$prefix}modal-border-radius: #{$modal-content-border-radius};
  --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};
  --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};
  --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};
  --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};
  --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
  --#{$prefix}modal-header-border-color: #{$modal-header-border-color};
  --#{$prefix}modal-header-border-width: #{$modal-header-border-width};
  --#{$prefix}modal-title-line-height: #{$modal-title-line-height};
  --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};
  --#{$prefix}modal-footer-bg: #{$modal-footer-bg};
  --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};
  --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};
  
  --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
  --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
  --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
  

Newidynnau Sass

$modal-inner-padding:               $spacer;

$modal-footer-margin-between:       .5rem;

$modal-dialog-margin:               .5rem;
$modal-dialog-margin-y-sm-up:       1.75rem;

$modal-title-line-height:           $line-height-base;

$modal-content-color:               null;
$modal-content-bg:                  $white;
$modal-content-border-color:        var(--#{$prefix}border-color-translucent);
$modal-content-border-width:        $border-width;
$modal-content-border-radius:       $border-radius-lg;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width);
$modal-content-box-shadow-xs:       $box-shadow-sm;
$modal-content-box-shadow-sm-up:    $box-shadow;

$modal-backdrop-bg:                 $black;
$modal-backdrop-opacity:            .5;

$modal-header-border-color:         var(--#{$prefix}border-color);
$modal-header-border-width:         $modal-content-border-width;
$modal-header-padding-y:            $modal-inner-padding;
$modal-header-padding-x:            $modal-inner-padding;
$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x; // Keep this for backwards compatibility

$modal-footer-bg:                   null;
$modal-footer-border-color:         $modal-header-border-color;
$modal-footer-border-width:         $modal-header-border-width;

$modal-sm:                          300px;
$modal-md:                          500px;
$modal-lg:                          800px;
$modal-xl:                          1140px;

$modal-fade-transform:              translate(0, -50px);
$modal-show-transform:              none;
$modal-transition:                  transform .3s ease-out;
$modal-scale-transform:             scale(1.02);

Dolen

Mae moddau sgrin lawn ymatebol yn cael eu cynhyrchu trwy'r $breakpointsmap a dolen i mewn scss/_modal.scss.

@each $breakpoint in map-keys($grid-breakpoints) {
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
  $postfix: if($infix != "", $infix + "-down", "");

  @include media-breakpoint-down($breakpoint) {
    .modal-fullscreen#{$postfix} {
      width: 100vw;
      max-width: none;
      height: 100%;
      margin: 0;

      .modal-content {
        height: 100%;
        border: 0;
        @include border-radius(0);
      }

      .modal-header,
      .modal-footer {
        @include border-radius(0);
      }

      .modal-body {
        overflow-y: auto;
      }
    }
  }
}

Defnydd

Mae'r ategyn moddol yn toglo'ch cynnwys cudd yn ôl y galw, trwy briodoleddau data neu JavaScript. Mae hefyd yn diystyru ymddygiad sgrolio rhagosodedig ac yn cynhyrchu a .modal-backdropi ddarparu ardal glicio ar gyfer diystyru moddau a ddangosir wrth glicio y tu allan i'r moddol.

Trwy briodoleddau data

Toglo

Ysgogi moddol heb ysgrifennu JavaScript. Gosod data-bs-toggle="modal"ar elfen rheolydd, fel botwm, ynghyd â data-bs-target="#foo"neu href="#foo"i dargedu moddol penodol i toglo.

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

Diystyru

Gellir cyflawni diswyddiad gyda'r datapriodoledd ar fotwm o fewn y moddol fel y dangosir isod:

<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>

neu ar fotwm y tu allan i'r moddol gan ddefnyddio'r hyn a data-bs-targetddangosir isod:

<button type="button" class="btn-close" data-bs-dismiss="modal" data-bs-target="#my-modal" aria-label="Close"></button>
Er bod y ddwy ffordd o ddiswyddo moddol yn cael eu cefnogi, cofiwch nad yw diswyddo o'r tu allan i foddol yn cyd-fynd â phatrwm deialog (modal) Canllaw Arferion Awduro ARIA . Gwnewch hyn ar eich menter eich hun.

Trwy JavaScript

Creu moddol gydag un llinell o JavaScript:

const myModal = new bootstrap.Modal(document.getElementById('myModal'), options)
// or
const myModalAlternative = new bootstrap.Modal('#myModal', options)

Opsiynau

Gan y gellir trosglwyddo opsiynau trwy briodoleddau data neu JavaScript, gallwch atodi enw opsiwn i data-bs-, fel yn data-bs-animation="{value}". Gwnewch yn siŵr eich bod yn newid math achos yr enw opsiwn o “ camelCase ” i “ kebab-case ” wrth basio'r opsiynau trwy briodoleddau data. Er enghraifft, defnyddiwch data-bs-custom-class="beautifier"yn lle data-bs-customClass="beautifier".

O Bootstrap 5.2.0, mae'r holl gydrannau'n cefnogi priodoledd data neilltuedig arbrofoldata-bs-config a all gynnwys cyfluniad cydran syml fel llinyn JSON. Pan fydd gan elfen data-bs-config='{"delay":0, "title":123}'a data-bs-title="456"phriodoleddau, y gwerth terfynol titlefydd 456a bydd y priodoleddau data ar wahân yn diystyru'r gwerthoedd a roddir ar data-bs-config. Yn ogystal, mae priodoleddau data presennol yn gallu cynnwys gwerthoedd JSON fel data-bs-delay='{"show":0,"hide":150}'.

Enw Math Diofyn Disgrifiad
backdrop boolean,'static' true Yn cynnwys elfen foddol-cefndir. Fel arall, nodwch staticar gyfer cefndir nad yw'n cau'r modd wrth glicio.
focus boolaidd true Yn rhoi'r ffocws ar y modd pan gaiff ei gychwyn.
keyboard boolaidd true Yn cau'r modd pan fydd allwedd dianc yn cael ei wasgu.

Dulliau

Dulliau a thrawsnewidiadau anghydamserol

Mae pob dull API yn asyncronaidd ac yn dechrau cyfnod pontio . Maen nhw'n dychwelyd at y galwr cyn gynted ag y bydd y cyfnod pontio wedi dechrau ond cyn iddo ddod i ben . Yn ogystal, bydd galwad dull ar gydran trawsnewid yn cael ei anwybyddu .

Gweler ein dogfennaeth JavaScript am ragor o wybodaeth .

Opsiynau pasio

Yn actifadu'ch cynnwys fel moddol. Yn derbyn opsiwn dewisol object.

const myModal = new bootstrap.Modal('#myModal', {
  keyboard: false
})
Dull Disgrifiad
dispose Yn dinistrio moddol elfen. (Yn dileu data sydd wedi'i storio ar yr elfen DOM)
getInstance Dull statig sy'n eich galluogi i gael yr enghraifft foddol sy'n gysylltiedig ag elfen DOM.
getOrCreateInstance Dull statig sy'n eich galluogi i gael yr enghraifft foddol yn gysylltiedig ag elfen DOM, neu greu un newydd rhag ofn na chafodd ei gychwyn.
handleUpdate Ail-addaswch safle'r moddol â llaw os yw uchder y modd yn newid tra ei fod ar agor (hy rhag ofn y bydd bar sgrolio yn ymddangos).
hide Yn cuddio moddol â llaw. Yn dychwelyd i'r galwr cyn i'r modd fod wedi'i guddio (hy cyn i'r hidden.bs.modaldigwyddiad ddigwydd).
show Yn agor moddol â llaw. Yn dychwelyd i'r galwr cyn i'r moddol gael ei ddangos (hy cyn i'r shown.bs.modaldigwyddiad ddigwydd). Hefyd, gallwch chi basio elfen DOM fel dadl y gellir ei derbyn yn y digwyddiadau moddol (fel yr relatedTargeteiddo). (hy const modalToggle = document.getElementById('toggleMyModal'); myModal.show(modalToggle).
toggle Toglo moddol â llaw. Yn dychwelyd i'r galwr cyn i'r moddol gael ei ddangos neu ei guddioshown.bs.modal ( hy cyn i'r hidden.bs.modaldigwyddiad ddigwydd).

Digwyddiadau

Mae dosbarth moddol Bootstrap yn datgelu rhai digwyddiadau ar gyfer cysylltu â swyddogaethau moddol. Mae pob digwyddiad moddol yn cael ei danio at y moddol ei hun (hy yn y <div class="modal">).

Digwyddiad Disgrifiad
hide.bs.modal Mae'r digwyddiad hwn yn cael ei danio ar unwaith pan fydd y hidedull enghraifft wedi'i alw.
hidden.bs.modal Mae'r digwyddiad hwn yn cael ei danio pan fydd y moddol wedi gorffen cael ei guddio rhag y defnyddiwr (bydd yn aros i'r trawsnewidiadau CSS gael eu cwblhau).
hidePrevented.bs.modal Mae'r digwyddiad hwn yn cael ei danio pan fydd y moddol yn cael ei ddangos, ei gefndir yw statica bydd clic y tu allan i'r modd yn cael ei berfformio. Mae'r digwyddiad hefyd yn cael ei danio pan fydd yr allwedd dianc yn cael ei wasgu a'r keyboardopsiwn wedi'i osod i false.
show.bs.modal Mae'r digwyddiad hwn yn tanio ar unwaith pan showelwir y dull enghraifft. Os caiff ei achosi gan glic, mae'r elfen a gliciwyd ar gael fel relatedTargeteiddo'r digwyddiad.
shown.bs.modal Mae'r digwyddiad hwn yn cael ei danio pan fydd y moddol wedi'i wneud yn weladwy i'r defnyddiwr (bydd yn aros i'r trawsnewidiadau CSS gael eu cwblhau). Os caiff ei achosi gan glic, mae'r elfen a gliciwyd ar gael fel relatedTargeteiddo'r digwyddiad.
const myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', event => {
  // do something...
})