Source

JavaScript

JQuery дээр бүтээгдсэн манай нэмэлт JavaScript залгаасуудаар Bootstrap-г амилуулаарай. Залгаас тус бүр, манай өгөгдөл болон программын API сонголтууд болон бусад зүйлсийн талаар мэдэж аваарай.

Ганцаарчилсан эсвэл эмхэтгэсэн

Залгаасуудыг тус тусад нь (Bootstrap-ийн бие даасан *.jsфайлуудыг ашиглан) эсвэл бүгдийг нь нэг дор bootstrap.jsэсвэл жижигрүүлсэн bootstrap.min.js(хоёуланг нь оруулахгүй) ашиглаж болно.

Хамаарал

Зарим залгаасууд болон CSS бүрэлдэхүүн хэсгүүд нь бусад залгаасуудаас хамаардаг. Хэрэв та залгаасуудыг тус тусад нь оруулсан бол эдгээр хамаарлыг баримтаас шалгаарай. Мөн бүх залгаасууд jQuery-ээс хамаардаг гэдгийг анхаарна уу (энэ нь залгаасын файлуудын өмнө jQuery-г оруулах ёстой гэсэн үг ). jQuery-ийн аль хувилбарууд дэмжигддэгийг манайхаас лавлана уу.package.json

Бидний унадаг цэс, поповер болон зөвлөмжүүд нь Popper.js -ээс хамаарна .

Өгөгдлийн шинж чанарууд

Бараг бүх Bootstrap залгаасуудыг зөвхөн өгөгдлийн шинж чанаруудтай (бидний JavaScript функцийг ашиглах илүүд үздэг арга) HTML-ээр дамжуулан идэвхжүүлж, тохируулах боломжтой. Нэг элемент дээр зөвхөн нэг багц өгөгдлийн шинж чанарыг ашиглахаа мартуузай (жишээ нь, та нэг товчлуураас хэрэгслийн зөвлөмж болон модальыг идэвхжүүлэх боломжгүй).

Гэсэн хэдий ч зарим тохиолдолд энэ функцийг идэвхгүй болгох нь зүйтэй юм. Өгөгдлийн атрибут API-г идэвхгүй болгохын тулд дараах байдлаар нэрийн зайтай баримт бичиг дээрх бүх үйл явдлыг салга data-api.

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

Өөрөөр, тодорхой залгаас руу чиглүүлэхийн тулд залгаасын нэрийг дараах байдлаар өгөгдлийн API нэрийн талбар болгон оруулаарай:

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

Үйл явдал

Bootstrap нь ихэнх залгаасуудын өвөрмөц үйлдлүүдийн захиалгат үйл явдлуудыг хангадаг. showЕрөнхийдөө эдгээр нь үйл явдлын эхэнд инфинитив (жишээ нь) өдөөгддөг ба өнгөрсөн үеийн хэлбэр (жишээ shownнь) нь үйлдлийг дуусгахад өдөөгддөг - инфинитив болон өнгөрсөн үеийн хэлбэрээр ирдэг.

Бүх инфинитив үйл явдал нь preventDefault()функцийг хангадаг. Энэ нь үйлдлийг эхлэхээс өмнө гүйцэтгэх ажиллагааг зогсоох боломжийг олгодог. Үйл явдал зохицуулагчаас худал буцаах нь мөн автоматаар дуудагдана preventDefault().

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

Програмчлалын API

Мөн та бүх Bootstrap залгаасуудыг JavaScript API-ээр дамжуулан ашиглах боломжтой байх ёстой гэж бид үзэж байна. Бүх нийтийн 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').

Асинхрон функцууд ба шилжилтүүд

Бүх программчлагдсан API аргууд нь асинхрон бус бөгөөд шилжилт эхэлсэн боловч дуусахаас өмнө дуудагч руу буцдаг .

Шилжилт дууссаны дараа үйлдлийг гүйцэтгэхийн тулд та холбогдох үйл явдлыг сонсож болно.

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

Түүнчлэн шилжилтийн бүрэлдэхүүн хэсэг дээрх аргын дуудлагыг үл тоомсорлох болно.

$('#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 залгаасуудыг ашиглах шаардлагатай болдог. Ийм нөхцөлд нэрийн орон зайн зөрчилдөөн хааяа тохиолдож болно. Хэрэв ийм зүйл тохиолдвол та .noConflictутгыг буцаахыг хүссэн залгаас руу залгаж болно.

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

Хувилбарын дугаарууд

VERSIONBootstrap-ийн jQuery залгаас бүрийн хувилбарт залгаасын үүсгэгчийн өмчөөр хандаж болно . Жишээлбэл, зааврын нэмэлт өргөтгөлийн хувьд:

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

JavaScript-г идэвхгүй болгосон үед тусгай нөөц байхгүй

JavaScript идэвхгүй болсон үед Bootstrap-ийн залгаасууд тийм ч сайн унадаггүй. Хэрэв та энэ тохиолдолд хэрэглэгчийн туршлагад санаа тавьж байгаа бол хэрэглэгчдэдээ <noscript>нөхцөл байдлыг тайлбарлах (мөн JavaScript-г хэрхэн дахин идэвхжүүлэх) болон/эсвэл өөрийн захиалгат өгөгдлүүдийг нэмнэ үү.

Гуравдагч талын номын сангууд

Bootstrap нь Prototype эсвэл jQuery UI зэрэг гуравдагч талын JavaScript сангуудыг албан ёсоор дэмждэггүй . Үйл явдлууд болон нэрийн зайтай байсан ч .noConflictта өөрөө засах шаардлагатай нийцтэй байдлын асуудал гарч болзошгүй.

Util

Bootstrap-ийн бүх JavaScript файлууд нь эдгээрээс хамаардаг util.jsбөгөөд бусад JavaScript файлуудтай хамт байх ёстой. Хэрэв та эмхэтгэсэн (эсвэл жижигрүүлсэн) ашиглаж bootstrap.jsбайгаа бол үүнийг оруулах шаардлагагүй - энэ нь аль хэдийн байна.

util.jsХэрэглээний функцууд болон transitionEndүйл явдлын үндсэн туслах, мөн CSS шилжилтийн эмулятор орно. Үүнийг бусад залгаасууд CSS-ийн шилжилтийн дэмжлэг байгаа эсэхийг шалгах, өлгөөтэй шилжилтийг барихад ашигладаг.