Source

JavaScript

jQuery ပေါ်တွင်တည်ဆောက်ထားသောကျွန်ုပ်တို့၏ရွေးချယ်နိုင်သော JavaScript ပလပ်အင်များဖြင့် Bootstrap ကိုအသက်ဝင်စေပါ။ ပလပ်အင်တစ်ခုစီ၊ ကျွန်ုပ်တို့၏ဒေတာနှင့် ပရိုဂရမ်မာ API ရွေးချယ်စရာများနှင့် အခြားအရာများအကြောင်း လေ့လာပါ။

တစ်ဦးချင်း သို့မဟုတ် ပြုစုခြင်း။

ပလပ်အင်များကို တစ်ဦးချင်းစီ (Bootstrap ၏တစ်ဦးချင်းစီ ကို အသုံးပြု၍) သို့မဟုတ် js/dist/*.jsတစ်ကြိမ်တည်းအသုံးပြုခြင်း bootstrap.jsသို့မဟုတ် အသေးစိပ်ပြုလုပ်ခြင်း bootstrap.min.js(နှစ်ခုလုံးမပါဝင်ပါ)။

အကယ်၍ သင်သည် အစုအစည်းတစ်ခု (Webpack၊ Rollup…) ကိုအသုံးပြု /js/dist/*.jsပါက UMD အဆင်သင့်ဖြစ်သည့်ဖိုင်များကို သင်အသုံးပြုနိုင်ပါသည်။

မှီခိုမှု

အချို့သော ပလပ်အင်များနှင့် CSS အစိတ်အပိုင်းများသည် အခြားပလပ်အင်များပေါ်တွင် မူတည်သည်။ အကယ်၍ သင်သည် ပလပ်အင်များကို တစ်ဦးချင်းစီ ထည့်သွင်းပါက၊ စာရွက်စာတမ်းများတွင် ဤမှီခိုမှုများ ရှိမရှိ စစ်ဆေးပါ။ ပလပ်အင်အားလုံးသည် jQuery ပေါ်တွင်မူတည် ကြောင်းကိုလည်း သတိပြုပါ (၎င်းသည် plugin ဖိုင်များ ရှေ့တွင် jQuery ကို ထည့်သွင်းရမည်ဖြစ်သည် )။ jQuery ၏ မည်သည့်ဗားရှင်းများကို ပံ့ပိုးထားသည်ကို သိရှိရန် ကျွန်ုပ်တို့နှင့် တိုင်ပင် ပါ။package.json

ကျွန်ုပ်တို့၏ dropdowns၊ popovers နှင့် tooltips များသည် Popper.js ပေါ်တွင်မူတည်ပါသည် ။

ဒေတာဂုဏ်တော်

Bootstrap ပလပ်အင်အားလုံးနီးပါးကို ဒေတာ attribute များဖြင့် HTML တစ်ခုတည်းဖြင့် ဖွင့်နိုင်ပြီး (ကျွန်ုပ်တို့နှစ်သက်သော JavaScript လုပ်ဆောင်ချက်ကို အသုံးပြုသည့်နည်းလမ်း)။ ဒြပ်စင်တစ်ခုတည်းတွင် ဒေတာ attributes အစုံကို တစ်ခုတည်း ကိုသာ အသုံးပြုရန် သေချာ ပါစေ။ (ဥပမာ၊ တူညီသောခလုတ်မှ tooltip နှင့် modal ကို သင်စတင်၍မရပါ။)

သို့သော်လည်း အချို့သောအခြေအနေများတွင် ၎င်းသည် ဤလုပ်ဆောင်နိုင်စွမ်းကို ပိတ်ရန် နှစ်လိုဖွယ်ဖြစ်နိုင်သည်။ ဒေတာ attribute API ကို ပိတ်ရန်၊ ဤကဲ့သို့ ခေါင်းစဉ်တပ်ထားသော စာရွက်စာတမ်းပေါ်ရှိ အဖြစ်အပျက်အားလုံးကို တွဲဖြုတ် data-apiပါ-

$(document).off('.data-api')

တနည်းအားဖြင့်၊ သီးခြားပလပ်အင်တစ်ခုအား ပစ်မှတ်ထားရန်၊ ဤကဲ့သို့သော data-api namespace နှင့်အတူ ပလပ်အင်၏အမည်ကို namespace အဖြစ် ထည့်သွင်းပါ-

$(document).off('.alert.data-api')
ရွေးချယ်မှုများမှ လွတ်မြောက်ခြင်း။

အကယ်၍ သင်သည် အထူးရွေးချယ်ကိရိယာများကို အသုံးပြုပါက collapse:Example၊ ၎င်းတို့ကို jQuery မှတဆင့် ဖြတ်သွားသောကြောင့် ၎င်းတို့ကို ရှောင်ရန်သေချာပါစေ။

အဲ့ဒါနဲ့

Bootstrap သည် ပလပ်အင်အများစု၏ ထူးခြားသောလုပ်ဆောင်ချက်များအတွက် စိတ်ကြိုက်ဖြစ်ရပ်များကို ပံ့ပိုးပေးပါသည်။ ယေဘူယျအားဖြင့်၊ ၎င်းတို့သည် အဆုံးမရှိနှင့် အတိတ်ပါဝင်မှုပုံစံဖြင့် လာပါသည် - အဆုံးမရှိ (ဥပမာ show) သည် ဖြစ်ရပ်တစ်ခု၏အစတွင် အစပျိုးပြီး ၎င်း၏အတိတ်ပါဝင်မှုပုံစံ (ဥပမာ shown) သည် လုပ်ဆောင်ချက်တစ်ခုပြီးဆုံးချိန်တွင် အစပျိုးသည်။

အဆုံးမရှိ အဖြစ်အပျက်များအားလုံးသည် preventDefault()လုပ်ဆောင်နိုင်စွမ်းကို ပေးစွမ်းသည်။ ၎င်းသည် လုပ်ဆောင်ချက်တစ်ခုမစတင်မီ လုပ်ဆောင်မှုကို ရပ်တန့်ရန် စွမ်းရည်ကို ပံ့ပိုးပေးသည်။ ဖြစ်ရပ်ကို ကိုင်တွယ်သူထံမှ အမှားကို ပြန်ပို့ခြင်းသည်လည်း အလိုအလျောက်ခေါ်ဆို preventDefault()မည်ဖြစ်သည်။

$('#myModal').on('show.bs.modal', function (e) {
  if (!data) return e.preventDefault() // stops modal from being shown
})

ပရိုဂရမ်မာတစ် API

JavaScript API မှတဆင့် Bootstrap ပလပ်အင်များအားလုံးကို သင်အသုံးပြုနိုင်မည်ဟုလည်း ကျွန်ုပ်တို့ယုံကြည်ပါသည်။ အများသူငှာ API များအားလုံးသည် တစ်ခုတည်း၊ ချိတ်ဆက်နိုင်သော နည်းလမ်းများဖြစ်ပြီး စုစည်းမှုအပေါ် ပြန်လည်လုပ်ဆောင်ခဲ့သည်။

$('.btn.danger').button('toggle').addClass('fat')

နည်းလမ်းအားလုံးသည် ရွေးချယ်ခွင့်ရှိသော ရွေးချယ်စရာအရာဝတ္ထု၊ သီးခြားနည်းလမ်းတစ်ခုအား ပစ်မှတ်ထားသည့် စာကြောင်းတစ်ခု သို့မဟုတ် မည်သည့်အရာကိုမျှ လက်ခံသင့်သည် (မူရင်းအပြုအမူဖြင့် ပလပ်အင်ကို အစပြုသည့်အရာဖြစ်သည်)။

$('#myModal').modal()                      // initialized with defaults
$('#myModal').modal({ keyboard: false })   // initialized with no keyboard
$('#myModal').modal('show')                // initializes and invokes show immediately

Constructorပလပ်အင်တစ်ခုစီသည် ၎င်း၏အကြမ်းထည်တည်ဆောက်သူကို ပိုင်ဆိုင်မှု တစ်ခုပေါ်တွင်လည်း ဖော်ပြသည် - $.fn.popover.Constructor. အထူးပလပ်အင်ဥပမာတစ်ခုကို သင်ရယူလိုပါက၊ ၎င်းကို အစိတ်အပိုင်းတစ်ခုမှ တိုက်ရိုက်ရယူပါ- $('[rel="popover"]').data('popover').

Asynchronous လုပ်ဆောင်ချက်များနှင့် အသွင်ကူးပြောင်းမှုများ

ပရိုဂရမ်မာ API နည်းလမ်းအားလုံးသည် အ ညီအမျှဖြစ်ပြီး အသွင်ကူးပြောင်းမှုကို စတင်သည် နှင့် မပြီးဆုံးမီ တွင် ခေါ်ဆိုသူထံ ပြန်လည်ရောက်ရှိ မည်ဖြစ်သည် ။

အကူးအပြောင်းပြီးသည်နှင့် လုပ်ဆောင်ချက်တစ်ခုအား လုပ်ဆောင်ရန်အတွက် သက်ဆိုင်ရာဖြစ်ရပ်ကို သင်နားထောင်နိုင်ပါသည်။

$('#myCollapse').on('shown.bs.collapse', function (e) {
  // Action to execute once the collapsible area is expanded
})

ထို့အပြင် transitioning component တစ်ခုပေါ်တွင် method call ကို လျစ်လျူရှု ပါမည်။

$('#myCarousel').on('slid.bs.carousel', function (e) {
  $('#myCarousel').carousel('2') // Will slide to the slide 2 as soon as the transition to slide 1 is finished
})

$('#myCarousel').carousel('1') // Will start sliding to the slide 1 and returns to the caller
$('#myCarousel').carousel('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!

မူရင်းဆက်တင်များ

ပလပ်အင်၏အရာဝတ္တုကို မွမ်းမံခြင်းဖြင့် ပလပ်အင်တစ်ခုအတွက် မူရင်းဆက်တင်များကို သင်ပြောင်းလဲနိုင်သည် Constructor.Default-

$.fn.modal.Constructor.Default.keyboard = false // changes default for the modal plugin's `keyboard` option to false

ပဋိပက္ခမရှိပါ။

တစ်ခါတစ်ရံတွင် အခြား UI မူဘောင်များနှင့်အတူ Bootstrap ပလပ်အင်များကို အသုံးပြုရန် လိုအပ်သည်။ ဤအခြေအနေများတွင်၊ namespace သည် ရံဖန်ရံခါ ဖြစ်ပေါ်နိုင်သည်။ ဒီလိုဖြစ်သွားရင်၊ သင့် .noConflictတန်ဖိုးကို ပြန်ပြောင်းလိုတဲ့ plugin ကို ခေါ်နိုင်ပါတယ်။

var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton            // give $().bootstrapBtn the Bootstrap functionality

ဗားရှင်းနံပါတ်များ

Bootstrap ၏ jQuery ပလပ်အင်တစ်ခုစီ၏ဗားရှင်းကို VERSIONplugin ၏တည်ဆောက်သူ၏ပိုင်ဆိုင်မှုမှတဆင့်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ ဥပမာ၊ tooltip plugin အတွက်၊

$.fn.tooltip.Constructor.VERSION // => "4.1.3"

JavaScript ကို ပိတ်ထားသည့်အခါ အထူးအတားအဆီးများ မရှိပါ။

Bootstrap’s plugins don’t fall back particularly gracefully when JavaScript is disabled. If you care about the user experience in this case, use <noscript> to explain the situation (and how to re-enable JavaScript) to your users, and/or add your own custom fallbacks.

Third-party libraries

Bootstrap does not officially support third-party JavaScript libraries like Prototype or jQuery UI. Despite .noConflict and namespaced events, there may be compatibility problems that you need to fix on your own.

Util

All Bootstrap’s JavaScript files depend on util.js and it has to be included alongside the other JavaScript files. If you’re using the compiled (or minified) bootstrap.js, there is no need to include this—it’s already there.

util.jsအသုံးဝင်သောလုပ်ဆောင်ချက်များနှင့် ဖြစ်ရပ်များအတွက် အခြေခံအကူအညီ transitionEndအပြင် CSS အကူးအပြောင်း emulator ပါ၀င်သည်။ CSS အကူးအပြောင်း ပံ့ပိုးမှု ရှိမရှိ စစ်ဆေးရန်နှင့် hanging transitions များကို ဖမ်းစားရန် အခြား ပလပ်အင်များက ၎င်းကို အသုံးပြုပါသည်။