موڈل
لائٹ باکسز، صارف کی اطلاعات، یا مکمل طور پر حسب ضرورت مواد کے لیے اپنی سائٹ پر ڈائیلاگ شامل کرنے کے لیے بوٹسٹریپ کا 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
۔
<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
صفات کی کچھ ہوشیار جگہ کے ساتھ متعدد ماڈلز کے درمیان ٹوگل کریں۔ مثال کے طور پر، آپ پہلے سے کھلے سائن ان موڈل کے اندر سے پاس ورڈ ری سیٹ موڈل کو ٹوگل کر سکتے ہیں۔ براہ کرم نوٹ کریں کہ ایک ہی وقت میں ایک سے زیادہ ماڈلز نہیں کھلے جا سکتے ہیں — یہ طریقہ صرف دو الگ الگ ماڈلز کے درمیان ٹوگل ہوتا ہے۔
<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>
جاوا اسکرپٹ کے ذریعے
جاوا اسکرپٹ کی ایک لائن کے ساتھ ایک ماڈل بنائیں:
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...
})