האָפּקען צו הויפּט אינהאַלט האָפּקען צו דאָקס נאַוויגאַציע
Check
in English

מאָדאַל

ניצן Bootstrap ס דזשאַוואַסקריפּט מאָדאַל פּלוגין צו לייגן דיאַלאָגס צו דיין פּלאַץ פֿאַר ליגהטבאָקסעס, באַניצער נאָוטאַפאַקיישאַנז אָדער גאָר מנהג אינהאַלט.

וויאזוי עס ארבעט

איידער איר אָנהייבן מיט Bootstrap ס מאָדאַל קאָמפּאָנענט, זיין זיכער צו לייענען די פאלגענדע ווייַל אונדזער מעניו אָפּציעס האָבן לעצטנס געביטן.

  • מאָדס זענען געבויט מיט HTML, CSS און דזשאַוואַסקריפּט. זיי זענען פּאַזישאַנד איבער אַלץ אַנדערש אין דעם דאָקומענט און באַזייַטיקן מעגילע פון ​​​​דעם <body>אַזוי אַז מאָדאַל אינהאַלט סקראָללס אַנשטאָט.
  • קליקינג אויף די מאָדאַל "באַקדראַפּ" וועט אויטאָמאַטיש פאַרמאַכן די מאָדאַל.
  • באָאָטסטראַפּ שטיצט בלויז איין מאָדאַל פֿענצטער אין אַ צייט. נעסטעד מאָדאַלז זענען נישט געשטיצט ווייַל מיר גלויבן זיי זענען נעבעך באַניצער יקספּיריאַנסיז.
  • מאָדאַלס נוצן position: fixed, וואָס קענען מאל זיין אַ ביסל באַזונדער וועגן זיין רענדערינג. ווען מעגלעך, שטעלן דיין מאָדאַל HTML אין אַ שפּיץ-מדרגה שטעלע צו ויסמיידן פּאָטענציעל ינטערפיראַנס פון אנדערע עלעמענטן. איר וועט מסתּמא לויפן אין ישוז ווען נעסטינג אַ .modalין אן אנדער פאַרפעסטיקט עלעמענט.
  • אַמאָל ווידער, רעכט צו position: fixed, עס זענען עטלעכע קייוויאַץ מיט די נוצן פון מאָדאַלז אויף רירעוודיק דעוויסעס. זען אונדזער בלעטערער שטיצן דאָקומענטן פֿאַר דעטאַילס.
  • רעכט צו ווי HTML5 דיפיינז זייַן סעמאַנטיקס, די autofocusHTML אַטריביוט האט קיין ווירקונג אין באָאָטסטראַפּ מאָדאַלז. צו דערגרייכן די זעלבע ווירקונג, נוצן עטלעכע מנהג דזשאַוואַסקריפּט:
const myModal = document.getElementById('myModal')
const myInput = document.getElementById('myInput')

myModal.addEventListener('shown.bs.modal', () => {
  myInput.focus()
})
די אַנאַמיישאַן ווירקונג פון דעם קאָמפּאָנענט איז אָפענגיק אויף די prefers-reduced-motionמידיאַ אָנפֿרעג. זען די רידוסט באַוועגונג אָפּטיילונג פון אונדזער אַקסעסאַביליטי דאַקיומענטיישאַן .

האַלטן לייענען פֿאַר דעמאָס און באַניץ גיידליינז.

ביישפילן

ונטער איז אַ סטאַטיק מאָדאַל בייַשפּיל (טייַטש זייַן positionאון displayהאָבן שוין אָווועררידאַן). אַרייַנגערעכנט די מאָדאַל כעדער, מאָדאַל גוף (פארלאנגט פֿאַר padding), און מאָדאַל פוטער (אַפּשאַנאַל). מיר בעטן אַז איר אַרייַן מאָדאַל כעדערז מיט אָפּזאָגן אַקשאַנז ווען מעגלעך, אָדער צושטעלן אן אנדער יקספּליסאַט אָפּזאָגן קאַמף.

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

לעבן דעמאָ

טאַגאַל אַ ארבעטן מאָדאַל דעמאָ דורך געבן אַ קליק דעם קנעפּל אונטן. עס וועט רוק אַראָפּ און וועלקן אין פון די שפּיץ פון די בלאַט.

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

סטאַטיק באַקדראַפּ

ווען די באַקדראַפּ איז באַשטימט צו סטאַטיק, די מאָדאַל וועט נישט פאַרמאַכן ווען קליקינג אַרויס פון עס. דריקט דעם קנעפּל אונטן צו פּרובירן עס.

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

סקראָללינג לאַנג אינהאַלט

ווען מאָדאַלס ווערן צו לאַנג פֿאַר דער באַניצער ס וויופּאָרט אָדער מיטל, זיי מעגילע ינדיפּענדאַנטלי פון די בלאַט זיך. פּרוּווט די דעמאָ אונטן צו זען וואָס מיר מיינען.

איר קענען אויך שאַפֿן אַ סקראָללאַבלע מאָדאַל וואָס אַלאַוז מעגילע די מאָדאַל גוף דורך אַדינג .modal-dialog-scrollableצו .modal-dialog.

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

ווערטיקלי סענטערד

לייג .modal-dialog-centeredצו .modal-dialogצו ווערטיקלי צענטער די מאָדאַל.

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

מכשירים און פּאָפּאָווערס

טאָאָלטיפּס און פּאָפּאָווערס קענען זיין געשטעלט אין מאָדאַלס ווי דארף. ווען מאָדאַלז זענען פארמאכט, אַלע מכשירים און פּאָפּאָווערס ין זענען אויך אויטאָמאַטיש דיסמיסט.

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

ניצן די גריד

ניצן די Bootstrap גריד סיסטעם אין אַ מאָדאַל דורך נעסטינג .container-fluidאין די .modal-body. דערנאָך, נוצן די נאָרמאַל גריד סיסטעם קלאסן ווי איר וואָלט ווי ערגעץ אַנדערש.

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

וועריינג מאָדאַל אינהאַלט

האָבן אַ בינטל פון קנעפּלעך וואָס אַלע צינגל די זעלבע מאָדאַל מיט אַ ביסל אַנדערש אינהאַלט? ניצן event.relatedTargetאון HTML data-bs-*אַטריביוץ צו בייַטן די אינהאַלט פון די מאָדאַל דיפּענדינג אויף וואָס קנעפּל איז קליקט.

ונטער איז אַ לעבן דעמאָ נאכגעגאנגען דורך ביישפּיל HTML און דזשאַוואַסקריפּט. פֿאַר מער אינפֿאָרמאַציע, לייענען די מאָדאַל געשעענישן דאָקס פֿאַר דעטאַילס אויף 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
})

באַשטימען צווישן מאָדעס

באַשטימען צווישן קייפל מאָדאַלז מיט עטלעכע קלוג פּלייסמאַנט פון די data-bs-targetאון data-bs-toggleאַטריביוץ. פֿאַר בייַשפּיל, איר קען באַשטימען אַ פּאַראָל באַשטעטיק מאָדאַל פֿון אַ שוין אָפֿן צייכן אין מאָדאַל. ביטע טאָן אַז קייפל מאָדאַלז קענען נישט זיין אָפן אין דער זעלביקער צייט - דער אופֿן פשוט טאַגאַלז צווישן צוויי באַזונדער מאָדאַלז.

עפענען ערשטער מאָדאַל
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>

טוישן אַנאַמיישאַן

דער $modal-fade-transformוועריאַבאַל דיטערמאַנז די יבערמאַכן שטאַט פון .modal-dialogאיידער די מאָדאַל וועלקן-אין אַנאַמיישאַן, די $modal-show-transformבייַטעוודיק דיטערמאַנז די יבערמאַכן פון .modal-dialogאין די סוף פון די מאָדאַל וועלקן-אין אַנאַמיישאַן.

אויב איר ווילט, למשל, אַ פארגרעסער-אין אַנאַמיישאַן, איר קענען שטעלן $modal-fade-transform: scale(.8).

אַראָפּנעמען אַנאַמיישאַן

פֿאַר מאָדאַלס וואָס פשוט דערשייַנען אלא ווי וועלקן אין צו זען, אַראָפּנעמען די .fadeקלאַס פון דיין מאָדאַל מאַרקאַפּ.

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

דינאַמיש כייץ

אויב די הייך פון אַ מאָדאַל ענדערונגען בשעת עס איז אָפן, איר זאָל רופן myModal.handleUpdate()צו אַדזשאַסטיד די מאָדאַל שטעלע אין פאַל אַ סקראָלבאַר איז ארויס.

אַקסעסאַביליטי

זייט זיכער צו לייגן aria-labelledby="...", רעפערענסינג די מאָדאַל טיטל, צו .modal. דערצו, איר קענט געבן אַ באַשרייַבונג פון דיין מאָדאַל דיאַלאָג מיט aria-describedbyאויף .modal. באַמערקונג אַז איר טאָן ניט דאַרפֿן צו לייגן role="dialog"זינט מיר שוין לייגן עס דורך דזשאַוואַסקריפּט.

עמבעדדינג יאָוטובע ווידיאס

עמבעדדינג יאָוטובע ווידיאס אין מאָדאַלז ריקווייערז נאָך דזשאַוואַסקריפּט ניט אין באָאָטסטראַפּ צו אויטאָמאַטיש האַלטן פּלייבאַק און מער. זען דעם נוציק Stack Overflow פּאָסטן פֿאַר מער אינפֿאָרמאַציע.

אָפּטיאָנאַל סיזעס

מאָדאַלס האָבן דריי אַפּשאַנאַל סיזעס, בנימצא דורך מאָדיפיער קלאסן צו זיין געשטעלט אויף אַ .modal-dialog. די סיזעס בריק אין זיכער ברעאַקפּאָינץ צו ויסמיידן האָריזאָנטאַל סקראָלבאַרס אויף נעראָוער וויופּאָרץ.

גרייס קלאַס מאַקס-ברייט מאָדע
קליין .modal-sm 300px
פעליקייַט קיינער 500px
גרויס .modal-lg 800px
עקסטרע גרויס .modal-xl 1140px

אונדזער פעליקייַט מאָדאַל אָן מאָדיפיער קלאַס קאַנסטאַטוץ די "מיטל" גרייס מאָדאַל.

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

פולסקרעען מאָדאַל

אן אנדער אָווועררייד איז די אָפּציע צו קנאַל אַרויף אַ מאָדאַל וואָס קאָווערס די באַניצער וויופּאָרט, בנימצא דורך מאָדיפיער קלאסן וואָס זענען געשטעלט אויף אַ .modal-dialog.

קלאַס אַוואַילאַביליטי
.modal-fullscreen אַלע מאָל
.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

וועריאַבאַלז

צוגעגעבן אין וו5.2.0

ווי אַ טייל פון Bootstrap ס יוואַלווינג CSS וועריאַבאַלז צוגאַנג, מאָדאַלז איצט נוצן היגע CSS וועריאַבאַלז אויף .modalאון .modal-backdropפֿאַר ענכאַנסט פאַקטיש-צייט קוסטאָמיזאַטיאָן. וואַלועס פֿאַר די CSS וועריאַבאַלז זענען באַשטימט דורך סאַס, אַזוי סאַס קוסטאָמיזאַטיאָן איז נאָך געשטיצט אויך.

  --#{$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};
  

סאָס וועריאַבאַלז

$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);

שלייף

אָפּרופיק פולסקרעען מאָדאַלז זענען דזשענערייטאַד דורך די $breakpointsמאַפּע און אַ שלייף אין 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;
      }
    }
  }
}

באַניץ

די מאָדאַל פּלוגין טאַגאַלז דיין פאַרבאָרגן אינהאַלט אויף פאָדערונג, דורך דאַטן אַטריביוץ אָדער דזשאַוואַסקריפּט. עס אויך אָווועררייד פעליקייַט סקראָללינג נאַטור און דזשענערייץ אַ .modal-backdropצו צושטעלן אַ גיט געגנט פֿאַר דימיסינג געוויזן מאָדאַלז ווען קליקינג אַרויס די מאָדאַל.

דורך דאַטן אַטריביוץ

Toggle

אַקטאַווייט אַ מאָדאַל אָן שרייבן דזשאַוואַסקריפּט. שטעלן data-bs-toggle="modal"אויף אַ קאָנטראָללער עלעמענט, ווי אַ קנעפּל, צוזאמען מיט אַ data-bs-target="#foo"אָדער href="#foo"צו ציל אַ ספּעציפיש מאָדאַל צו טאַגאַל.

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

אָפּזאָגן

דיסמיסאַל קענען זיין אַטשיווד מיט די dataאַטריביוט אויף אַ קנעפּל אין די מאָדאַל ווי דעמאַנסטרייטיד אונטן:

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

אָדער אויף אַ קנעפּל אַרויס די מאָדאַל ניצן די data-bs-targetווי דעמאַנסטרייטיד אונטן:

<button type="button" class="btn-close" data-bs-dismiss="modal" data-bs-target="#my-modal" aria-label="Close"></button>
כאָטש ביידע וועגן צו אָפּזאָגן אַ מאָדאַל זענען געשטיצט, האַלטן אין זינען אַז די דיסמיסינג פון אַרויס אַ מאָדאַל איז נישט גלייך מיט די ARIA Authoring Practices Guide דיאַלאָג (מאָדאַל) מוסטער . טאָן דאָס אין דיין אייגן ריזיקירן.

דורך דזשאַוואַסקריפּט

שאַפֿן אַ מאָדאַל מיט אַ איין שורה פון דזשאַוואַסקריפּט:

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

אָפּציעס

ווי אָפּציעס קענען זיין דורכגעגאנגען דורך דאַטן אַטריביוץ אָדער דזשאַוואַסקריפּט, איר קענען לייגן אַן אָפּציע נאָמען צו data-bs-, ווי אין data-bs-animation="{value}". מאַכן זיכער צו טוישן די פאַל טיפּ פון די אָפּציע נאָמען פון " camelCase " צו " קעבאַב פאַל " ווען איר פאָרן די אָפּציעס דורך דאַטן אַטריביוץ. פֿאַר בייַשפּיל, נוצן data-bs-custom-class="beautifier"אַנשטאָט פון data-bs-customClass="beautifier".

זינט Bootstrap 5.2.0, אַלע קאַמפּאָונאַנץ שטיצן אַן יקספּערמענאַל רעזערווירט דאַטן אַטריביוט data-bs-configוואָס קענען זיין אַ פּשוט קאָמפּאָנענט קאַנפיגיעריישאַן ווי אַ JSON שטריקל. ווען אַן עלעמענט האט data-bs-config='{"delay":0, "title":123}'און data-bs-title="456"אַטריביוץ, די לעצט titleווערט וועט זיין 456און די באַזונדער דאַטן אַטריביוץ וועט אָווועררייד וואַלועס געגעבן אויף data-bs-config. אין אַדישאַן, די יגזיסטינג דאַטן אַטריביוץ זענען ביכולת צו הויז JSON וואַלועס ווי data-bs-delay='{"show":0,"hide":150}'.

נאָמען טיפּ פעליקייַט באַשרייַבונג
backdrop בולעאַן,'static' true כולל אַ מאָדאַל-באַקדראַפּ עלעמענט. אַלטערנאַטיוועלי, ספּעציפיצירן staticפֿאַר אַ באַקדראַפּ וואָס טוט נישט פאַרמאַכן די מאָדאַל ווען קליקט.
focus בוליאַן true לייגט די פאָקוס אויף די מאָדאַל ווען ינישאַלייזד.
keyboard בוליאַן true קלאָוזיז די מאָדאַל ווען אַנטלויפן שליסל איז געדריקט.

מעטהאָדס

אַסינטשראָנאָוס מעטהאָדס און טראַנזישאַנז

אַלע אַפּי מעטהאָדס זענען ייסינגקראַנאַס און אָנהייבן אַ יבערגאַנג . זיי צוריקקומען צו די קאַללער ווי באַלד ווי די יבערגאַנג איז סטאַרטעד אָבער איידער עס ענדס . אין אַדישאַן, אַ מעטאָד רופן אויף אַ יבערגאַנג קאָמפּאָנענט וועט זיין איגנאָרירט .

זען אונדזער דזשאַוואַסקריפּט דאַקיומענטיישאַן פֿאַר מער אינפֿאָרמאַציע .

דורכפאָר אָפּציעס

אַקטאַווייץ דיין אינהאַלט ווי אַ מאָדאַל. אַקסעפּץ אַן אַפּשאַנאַל אָפּציעס object.

const myModal = new bootstrap.Modal('#myModal', {
  keyboard: false
})
מעטאָד באַשרייַבונג
dispose דיסטרויז אַן עלעמענט ס מאָדאַל. (רימוווז סטאָרד דאַטן אויף די DOM עלעמענט)
getInstance סטאַטיק אופֿן וואָס אַלאַוז איר צו באַקומען די מאָדאַל בייַשפּיל פֿאַרבונדן מיט אַ DOM עלעמענט.
getOrCreateInstance סטאַטיק אופֿן וואָס אַלאַוז איר צו באַקומען די מאָדאַל בייַשפּיל פֿאַרבונדן מיט אַ DOM עלעמענט, אָדער שאַפֿן אַ נייַע אין פאַל עס איז נישט יניטיאַלייזד.
handleUpdate מאַניואַלי אַדזשאַסטיד די שטעלע פון ​​​​די מאָדאַל אויב די הייך פון אַ מאָדאַל ענדערונגען ווען עס איז אָפן (ד"ה אין פאַל אַ סקראָלבאַר איז ארויס).
hide מאַניואַלי כיידז אַ מאָדאַל. קערט צו די קאַללער איידער די מאָדאַל איז פאקטיש געווען פאַרבאָרגן (ד"ה איידער די hidden.bs.modalגעשעעניש אַקערז).
show מאַניואַלי אָפּענס אַ מאָדאַל. קערט צו די קאַללער איידער די מאָדאַל איז אַקטשאַוואַלי געוויזן (ד"ה איידער די shown.bs.modalגעשעעניש אַקערז). איר קענט אויך פאָרן אַ DOM עלעמענט ווי אַן אַרגומענט וואָס קענען זיין באקומען אין די מאָדאַל געשעענישן (ווי די relatedTargetפאַרמאָג). const modalToggle = document.getElementById('toggleMyModal'); myModal.show(modalToggle)( ד.ה.
toggle מאַניואַלי טאַגאַלז אַ מאָדאַל. קערט צו די קאַללער איידער די מאָדאַל איז אַקטשאַוואַלי געוויזן אָדער פאַרבאָרגן (ד"ה איידער די shown.bs.modalאָדער hidden.bs.modalגעשעעניש אַקערז).

געשעענישן

Bootstrap ס מאָדאַל קלאַס יקספּאָוזיז עטלעכע געשעענישן פֿאַר כוקינג אין מאָדאַל פאַנגקשאַנאַליטי. אַלע מאָדאַל געשעענישן זענען פייערד אין די מאָדאַל זיך (ד"ה אין די <div class="modal">).

געשעעניש באַשרייַבונג
hide.bs.modal דעם געשעעניש איז פייערד מיד ווען דער hideבייַשפּיל אופֿן איז גערופן.
hidden.bs.modal דער געשעעניש איז פייערד ווען די מאָדאַל איז פאַרטיק צו זיין פאַרבאָרגן פון די באַניצער (וועט וואַרטן פֿאַר CSS טראַנזישאַנז צו פאַרענדיקן).
hidePrevented.bs.modal דער געשעעניש איז פייערד ווען די מאָדאַל איז געוויזן, זיין באַקדראַפּ איז staticאון אַ גיט אַרויס פון די מאָדאַל איז דורכגעקאָכט. די געשעעניש איז אויך פייערד ווען די אַנטלויפן שליסל איז געדריקט און די keyboardאָפּציע איז באַשטימט צו false.
show.bs.modal דער געשעעניש פירט גלייך ווען דער showבייַשפּיל אופֿן איז גערופן. אויב געפֿירט דורך אַ קליק, די קליקט עלעמענט איז בנימצא ווי די relatedTargetפאַרמאָג פון די געשעעניש.
shown.bs.modal דער געשעעניש איז פייערד ווען די מאָדאַל איז געווען קענטיק צו דער באַניצער (וועט וואַרטן פֿאַר CSS טראַנזישאַנז צו פאַרענדיקן). אויב געפֿירט דורך אַ קליק, די קליקט עלעמענט איז בנימצא ווי די relatedTargetפאַרמאָג פון די געשעעניש.
const myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('hidden.bs.modal', event => {
  // do something...
})