مرکزی مواد پر جائیں۔ ڈاکس نیویگیشن پر جائیں۔
Check
in English

موڈل

لائٹ باکسز، صارف کی اطلاعات، یا مکمل طور پر حسب ضرورت مواد کے لیے اپنی سائٹ پر ڈائیلاگ شامل کرنے کے لیے بوٹسٹریپ کا JavaScript موڈل پلگ ان استعمال کریں۔

یہ کیسے کام کرتا ہے

بوٹسٹریپ کے موڈل جزو کے ساتھ شروع کرنے سے پہلے، درج ذیل کو ضرور پڑھیں کیونکہ ہمارے مینو کے اختیارات حال ہی میں تبدیل ہوئے ہیں۔

  • ماڈلز HTML، CSS، اور JavaScript کے ساتھ بنائے گئے ہیں۔ وہ دستاویز میں موجود ہر چیز پر پوزیشن میں ہیں اور <body>اس کے بجائے اسکرول کو ہٹا دیں تاکہ موڈل مواد اسکرول کر سکے۔
  • موڈل "بیک ڈراپ" پر کلک کرنے سے موڈل خود بخود بند ہو جائے گا۔
  • بوٹسٹریپ ایک وقت میں صرف ایک موڈل ونڈو کو سپورٹ کرتا ہے۔ نیسٹڈ ماڈلز تعاون یافتہ نہیں ہیں کیونکہ ہمارا خیال ہے کہ وہ صارف کے ناقص تجربات ہیں۔
  • موڈلز استعمال کرتے ہیں position: fixed، جو کبھی کبھی اس کی رینڈرنگ کے بارے میں تھوڑا خاص ہو سکتا ہے۔ جب بھی ممکن ہو، دوسرے عناصر کی ممکنہ مداخلت سے بچنے کے لیے اپنے موڈل ایچ ٹی ایم ایل کو اعلیٰ سطح کی پوزیشن میں رکھیں۔ .modalکسی دوسرے مقررہ عنصر کے اندر گھونسلہ بناتے وقت آپ کو ممکنہ طور پر مسائل کا سامنا کرنا پڑے گا ۔
  • ایک بار پھر، کی وجہ سے position: fixed، موبائل آلات پر موڈل استعمال کرنے کے حوالے سے کچھ انتباہات ہیں۔ تفصیلات کے لیے ہمارے براؤزر سپورٹ دستاویزات دیکھیں۔
  • HTML5 اپنے سیمنٹکس کی وضاحت کیسے کرتا ہے اس کی وجہ سے، HTML autofocusوصف کا بوٹسٹریپ موڈلز میں کوئی اثر نہیں ہوتا ہے۔ اسی اثر کو حاصل کرنے کے لیے، کچھ حسب ضرورت جاوا اسکرپٹ استعمال کریں:
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>

گرڈ کا استعمال کرتے ہوئے

بوٹسٹریپ گرڈ سسٹم کو موڈل کے اندر اندر گھونسلہ بنا کر استعمال .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>

مختلف موڈل مواد

کیا آپ کے پاس بٹنوں کا ایک گروپ ہے جو ایک ہی ماڈل کو تھوڑا سا مختلف مواد کے ساتھ متحرک کرتے ہیں؟ کس بٹن پر کلک کیا گیا اس پر منحصر ہے کہ موڈل کے مواد کو مختلف کرنے کے لیے HTML اوصافevent.relatedTarget کا استعمال کریں ۔data-bs-*

ذیل میں ایک لائیو ڈیمو ہے جس کے بعد مثال HTML اور JavaScript ہے۔ مزید معلومات کے لیے، پر تفصیلات کے لیے موڈل ایونٹس کی دستاویزات پڑھیں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مزید برآں، آپ on کے ساتھ اپنے موڈل ڈائیلاگ کی تفصیل دے سکتے ہیں .modal۔ نوٹ کریں کہ آپ کو شامل کرنے کی ضرورت نہیں ہے role="dialog"کیونکہ ہم اسے پہلے ہی JavaScript کے ذریعے شامل کر چکے ہیں۔

یوٹیوب ویڈیوز کو سرایت کرنا

موڈلز میں YouTube ویڈیوز کو ایمبیڈ کرنے کے لیے اضافی JavaScript کی ضرورت ہوتی ہے جو Bootstrap میں نہیں ہے تاکہ پلے بیک وغیرہ کو خود بخود روکا جا سکے۔ مزید معلومات کے لیے یہ مددگار اسٹیک اوور فلو پوسٹ دیکھیں ۔

اختیاری سائز

موڈلز کے تین اختیاری سائز ہوتے ہیں، جو کہ ایک پر رکھنے کے لیے موڈیفائر کلاسز کے ذریعے دستیاب ہوتے ہیں .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>

فل سکرین موڈل

ایک اور اوور رائڈ ایک ایسے موڈل کو پاپ اپ کرنے کا اختیار ہے جو صارف کے ویو پورٹ کا احاطہ کرتا ہے، جو کہ modifier کلاسز کے ذریعے دستیاب ہے جو a پر رکھی گئی ہیں .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>

سی ایس ایس

متغیرات

v5.2.0 میں شامل کیا گیا۔

بوٹسٹریپ کے ابھرتے ہوئے CSS متغیر کے نقطہ نظر کے ایک حصے کے طور پر، موڈل اب مقامی CSS متغیرات کو آن .modalاور .modal-backdropبہتر ریئل ٹائم حسب ضرورت کے لیے استعمال کرتے ہیں۔ CSS متغیرات کی قدریں Sass کے ذریعے سیٹ کی جاتی ہیں، اس لیے Sass حسب ضرورت اب بھی تعاون یافتہ ہے۔

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

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

لوپ

ریسپانسیو فل سکرین موڈل$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موڈل سے باہر کلک کرنے پر دکھائے گئے ماڈلز کو مسترد کرنے کے لیے ایک کلک ایریا فراہم کرتا ہے۔

ڈیٹا اوصاف کے ذریعے

ٹوگل کریں۔

جاوا اسکرپٹ لکھے بغیر موڈل کو چالو کریں۔ ایک کنٹرولر عنصر پر سیٹ کریں 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 تصنیف کی مشق گائیڈ ڈائیلاگ (موڈل) پیٹرن سے میل نہیں کھاتا ۔ یہ اپنی ذمہ داری پر کریں۔

جاوا اسکرپٹ کے ذریعے

جاوا اسکرپٹ کی ایک لائن کے ساتھ ایک ماڈل بنائیں:

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

اختیارات

چونکہ آپشنز کو ڈیٹا انتساب یا JavaScript کے ذریعے منتقل کیا جا سکتا ہے، آپ ایک آپشن کا نام شامل کر سکتے ہیں data-bs-، جیسا کہ میں data-bs-animation="{value}"۔ ڈیٹا انتساب کے ذریعے آپشنز کو پاس کرتے وقت آپشن کے نام کی کیس ٹائپ کو " کیمل کیس" سے " کباب کیس " میں تبدیل کرنا یقینی بنائیں۔ مثال کے طور پر، کے data-bs-custom-class="beautifier"بجائے استعمال کریں data-bs-customClass="beautifier"۔

بوٹسٹریپ 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 Escape کلید کو دبانے پر موڈل بند ہو جاتا ہے۔

طریقے

غیر مطابقت پذیر طریقے اور ٹرانزیشن

تمام API طریقے غیر مطابقت پذیر ہیں اور ایک منتقلی شروع کرتے ہیں ۔ منتقلی شروع ہوتے ہی وہ کال کرنے والے کے پاس واپس آ جاتے ہیں لیکن اس کے ختم ہونے سے پہلے ۔ اس کے علاوہ، منتقلی کے جزو پر میتھڈ کال کو نظر انداز کر دیا جائے گا ۔

مزید معلومات کے لیے ہماری جاوا اسکرپٹ دستاویزات دیکھیں ۔

پاسنگ کے اختیارات

آپ کے مواد کو ایک ماڈل کے طور پر فعال کرتا ہے۔ اختیاری اختیارات کو قبول کرتا ہے 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واقعہ ہونے سے پہلے)۔

تقریبات

بوٹسٹریپ کی موڈل کلاس موڈل فنکشنلٹی میں شامل ہونے کے لیے چند واقعات کو بے نقاب کرتی ہے۔ تمام موڈل واقعات خود موڈل پر فائر کیے جاتے ہیں (یعنی پر <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...
})