ஜாவாஸ்கிரிப்ட்
எங்கள் விருப்பமான ஜாவாஸ்கிரிப்ட் செருகுநிரல்களுடன் பூட்ஸ்டார்ப்பை உயிர்ப்பிக்கவும். ஒவ்வொரு செருகுநிரல், எங்கள் தரவு மற்றும் நிரல் API விருப்பங்கள் மற்றும் பலவற்றைப் பற்றி அறிக.
தனிப்பட்ட அல்லது தொகுக்கப்பட்ட
செருகுநிரல்கள் தனித்தனியாக சேர்க்கப்படலாம் (பூட்ஸ்டார்ப்பின் தனிநபரைப் பயன்படுத்தி js/dist/*.js
), அல்லது அனைத்தையும் ஒரே நேரத்தில் பயன்படுத்துதல் bootstrap.js
அல்லது சிறியது bootstrap.min.js
(இரண்டையும் சேர்க்க வேண்டாம்).
நீங்கள் ஒரு பண்ட்லரைப் பயன்படுத்தினால் (வெப்பேக், ரோல்அப்...), /js/dist/*.js
UMD தயாராக இருக்கும் கோப்புகளைப் பயன்படுத்தலாம்.
பூட்ஸ்டார்ப்பை ஒரு தொகுதியாகப் பயன்படுத்துதல்
ESM
( bootstrap.esm.js
மற்றும் ) என கட்டமைக்கப்பட்ட பூட்ஸ்டார்ப்பின் பதிப்பை நாங்கள் வழங்குகிறோம், bootstrap.esm.min.js
இது உங்கள் உலாவியில் பூட்ஸ்டார்ப்பை ஒரு தொகுதியாகப் பயன்படுத்த அனுமதிக்கிறது, உங்கள் இலக்கு உலாவிகள் அதை ஆதரித்தால் .
<script type="module">
import { Toast } from 'bootstrap.esm.min.js'
Array.from(document.querySelectorAll('.toast'))
.forEach(toastNode => new Toast(toastNode))
</script>
பொருந்தாத செருகுநிரல்கள்
உலாவி வரம்புகள் காரணமாக, எங்களின் சில செருகுநிரல்கள், அதாவது டிராப் டவுன், டூல்டிப் மற்றும் பாப்ஓவர் செருகுநிரல்கள், பாப்பரைச் சார்ந்து இருப்பதால், வகை கொண்ட டேக்கில் <script>
பயன்படுத்த முடியாது. module
சிக்கலைப் பற்றிய கூடுதல் தகவலுக்கு இங்கே பார்க்கவும் .
சார்புநிலைகள்
சில செருகுநிரல்கள் மற்றும் CSS கூறுகள் மற்ற செருகுநிரல்களைப் பொறுத்தது. நீங்கள் தனித்தனியாக செருகுநிரல்களைச் சேர்த்தால், ஆவணத்தில் இந்த சார்புகளை சரிபார்க்கவும்.
எங்கள் டிராப் டவுன்கள், பாப்ஓவர்கள் மற்றும் டூல்டிப்களும் பாப்பரைச் சார்ந்தது .
இன்னும் jQuery ஐப் பயன்படுத்த வேண்டுமா? அது சாத்தியமாகும்!
பூட்ஸ்டார்ப் 5 jQuery இல்லாமல் பயன்படுத்த வடிவமைக்கப்பட்டுள்ளது, ஆனால் எங்கள் கூறுகளை jQuery உடன் பயன்படுத்துவது இன்னும் சாத்தியம். பொருளில் பூட்ஸ்டார்ப் கண்டறிந்தால் jQuery
,window
அது jQuery இன் செருகுநிரல் அமைப்பில் எங்கள் அனைத்து கூறுகளையும் சேர்க்கும்; $('[data-bs-toggle="tooltip"]').tooltip()
இதன் பொருள் உதவிக்குறிப்புகளை இயக்க நீங்கள் செய்ய முடியும் . எங்கள் மற்ற கூறுகளுக்கும் இதுவே செல்கிறது.
தரவு பண்புக்கூறுகள்
கிட்டத்தட்ட அனைத்து பூட்ஸ்டார்ப் செருகுநிரல்களையும் தரவு பண்புக்கூறுகளுடன் HTML மூலம் மட்டுமே இயக்கலாம் மற்றும் கட்டமைக்கலாம் (ஜாவாஸ்கிரிப்ட் செயல்பாட்டைப் பயன்படுத்துவதற்கான எங்கள் விருப்பமான வழி). ஒரு தனிமத்தில் ஒரு தரவுப் பண்புக்கூறுகளை மட்டுமே பயன்படுத்துவதை உறுதிப்படுத்திக் கொள்ளுங்கள் (எ.கா., ஒரே பொத்தானில் இருந்து ஒரு உதவிக்குறிப்பு மற்றும் மாதிரியைத் தூண்ட முடியாது.)
தேர்வாளர்கள்
தற்போது DOM உறுப்புகளை வினவுவதற்கு, சொந்த முறைகள் querySelector
மற்றும் querySelectorAll
செயல்திறன் காரணங்களுக்காக நாங்கள் பயன்படுத்துகிறோம், எனவே நீங்கள் சரியான தேர்வாளர்களைப் பயன்படுத்த வேண்டும் . நீங்கள் சிறப்பு தேர்வாளர்களைப் பயன்படுத்தினால், எடுத்துக்காட்டாக: collapse:Example
அவர்களிடமிருந்து தப்பிக்க மறக்காதீர்கள்.
நிகழ்வுகள்
பெரும்பாலான செருகுநிரல்களின் தனிப்பட்ட செயல்களுக்கான தனிப்பயன் நிகழ்வுகளை பூட்ஸ்டார்ப் வழங்குகிறது. show
பொதுவாக, இவை ஒரு முடிவிலி மற்றும் கடந்த பங்கேற்பு வடிவத்தில் வரும் - ஒரு நிகழ்வின் தொடக்கத்தில் முடிவிலி (எ.கா. ) தூண்டப்படுகிறது, மேலும் அதன் கடந்த பங்கேற்பு வடிவம் (எ.கா. shown
) ஒரு செயலின் முடிவில் தூண்டப்படுகிறது.
அனைத்து முடிவிலி நிகழ்வுகளும் preventDefault()
செயல்பாட்டை வழங்குகின்றன. இது ஒரு செயலைத் தொடங்கும் முன் அதைச் செயல்படுத்துவதை நிறுத்தும் திறனை வழங்குகிறது. நிகழ்வு ஹேண்ட்லரிடமிருந்து தவறு எனத் திரும்பினால் தானாகவே அழைக்கப்படும் preventDefault()
.
var myModal = document.getElementById('myModal')
myModal.addEventListener('show.bs.modal', function (event) {
if (!data) {
return event.preventDefault() // stops modal from being shown
}
})
jQuery நிகழ்வுகள்
பொருளில் jQuery இருந்தால் jQuery
மற்றும் பண்புக்கூறு window
எதுவும் data-bs-no-jquery
அமைக்கப்படவில்லை என்பதை பூட்ஸ்டார்ப் கண்டறியும் <body>
. jQuery கண்டுபிடிக்கப்பட்டால், பூட்ஸ்டார்ப் jQuery இன் நிகழ்வு அமைப்புக்கு நன்றி செலுத்தும் நிகழ்வுகளை வெளியிடும். எனவே நீங்கள் பூட்ஸ்டார்ப்பின் நிகழ்வுகளைக் கேட்க விரும்பினால், அதற்கு பதிலாக jQuery முறைகளை ( .on
, .one
) பயன்படுத்த வேண்டும் addEventListener
.
$('#myTab a').on('shown.bs.tab', function () {
// do something...
})
நிரல் API
அனைத்து கன்ஸ்ட்ரக்டர்களும் விருப்பத்தேர்வுகள் ஆப்ஜெக்ட் அல்லது எதையும் ஏற்கவில்லை (இது ஒரு செருகுநிரலை அதன் இயல்புநிலை நடத்தையுடன் துவக்குகிறது):
var myModalEl = document.getElementById('myModal')
var modal = new bootstrap.Modal(myModalEl) // initialized with defaults
var modal = new bootstrap.Modal(myModalEl, { keyboard: false }) // initialized with no keyboard
நீங்கள் ஒரு குறிப்பிட்ட செருகுநிரல் நிகழ்வைப் பெற விரும்பினால், ஒவ்வொரு செருகுநிரலும் ஒரு getInstance
முறையை வெளிப்படுத்தும். ஒரு உறுப்பிலிருந்து நேரடியாக அதை மீட்டெடுக்க, இதைச் செய்யுங்கள்: bootstrap.Popover.getInstance(myPopoverEl)
.
கட்டமைப்பாளர்களில் CSS தேர்வாளர்கள்
செருகுநிரலைத் துவக்குவதற்கு DOM உறுப்புக்குப் பதிலாக முதல் வாதமாக CSS தேர்வியைப் பயன்படுத்தலாம். querySelector
எங்கள் செருகுநிரல்கள் ஒற்றை உறுப்பை மட்டுமே ஆதரிப்பதால் தற்போது சொருகிக்கான உறுப்பு முறை மூலம் கண்டறியப்படுகிறது .
var modal = new bootstrap.Modal('#myModal')
var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
ஒத்திசைவற்ற செயல்பாடுகள் மற்றும் மாற்றங்கள்
அனைத்து நிரல் API முறைகளும் ஒத்திசைவற்றவை மற்றும் மாற்றம் தொடங்கப்பட்டதும் ஆனால் அது முடிவதற்குள் அழைப்பாளரிடம் திரும்பும் .
மாற்றம் முடிந்ததும் ஒரு செயலைச் செயல்படுத்த, தொடர்புடைய நிகழ்வைக் கேட்கலாம்.
var myCollapseEl = document.getElementById('myCollapse')
myCollapseEl.addEventListener('shown.bs.collapse', function (event) {
// Action to execute once the collapsible area is expanded
})
கூடுதலாக, மாற்றும் கூறுக்கான முறை அழைப்பு புறக்கணிக்கப்படும் .
var myCarouselEl = document.getElementById('myCarousel')
var carousel = bootstrap.Carousel.getInstance(myCarouselEl) // Retrieve a Carousel instance
myCarouselEl.addEventListener('slid.bs.carousel', function (event) {
carousel.to('2') // Will slide to the slide 2 as soon as the transition to slide 1 is finished
})
carousel.to('1') // Will start sliding to the slide 1 and returns to the caller
carousel.to('2') // !! Will be ignored, as the transition to the slide 1 is not finished !!
இயல்புநிலை அமைப்புகள்
Constructor.Default
செருகுநிரலின் பொருளை மாற்றுவதன் மூலம் சொருகிக்கான இயல்புநிலை அமைப்புகளை நீங்கள் மாற்றலாம் :
// changes default for the modal plugin's `keyboard` option to false
bootstrap.Modal.Default.keyboard = false
முரண்பாடு இல்லை (நீங்கள் jQuery ஐப் பயன்படுத்தினால் மட்டுமே)
சில நேரங்களில் மற்ற UI கட்டமைப்புகளுடன் பூட்ஸ்டார்ப் செருகுநிரல்களைப் பயன்படுத்துவது அவசியம். இந்த சூழ்நிலைகளில், பெயர்வெளி மோதல்கள் அவ்வப்போது நிகழலாம். .noConflict
இது நடந்தால், நீங்கள் மதிப்பை மாற்ற விரும்பும் செருகுநிரலை அழைக்கலாம் .
var bootstrapButton = $.fn.button.noConflict() // return $.fn.button to previously assigned value
$.fn.bootstrapBtn = bootstrapButton // give $().bootstrapBtn the Bootstrap functionality
பதிப்பு எண்கள்
VERSION
ஒவ்வொரு பூட்ஸ்டார்ப்பின் செருகுநிரல்களின் பதிப்பையும் செருகுநிரலின் கட்டமைப்பாளரின் சொத்து வழியாக அணுகலாம் . எடுத்துக்காட்டாக, உதவிக்குறிப்பு செருகுநிரலுக்கு:
bootstrap.Tooltip.VERSION // => "5.0.2"
ஜாவாஸ்கிரிப்ட் முடக்கப்பட்டிருக்கும் போது சிறப்பு குறைப்புக்கள் இல்லை
ஜாவாஸ்கிரிப்ட் முடக்கப்பட்டிருக்கும் போது பூட்ஸ்டார்ப்பின் செருகுநிரல்கள் குறிப்பாக அழகாக பின்வாங்குவதில்லை. இந்தச் சந்தர்ப்பத்தில் பயனர் அனுபவத்தைப் பற்றி நீங்கள் அக்கறை கொண்டால் <noscript>
, உங்கள் பயனர்களுக்கு நிலைமையை (மற்றும் JavaScript ஐ எவ்வாறு மீண்டும் இயக்குவது) என்பதை விளக்கவும், மற்றும்/அல்லது உங்கள் சொந்த தனிப்பயன் ஃபால்பேக்குகளைச் சேர்க்கவும்.
மூன்றாம் தரப்பு நூலகங்கள்
முன்மாதிரி அல்லது jQuery UI போன்ற மூன்றாம் தரப்பு ஜாவாஸ்கிரிப்ட் நூலகங்களை பூட்ஸ்டார்ப் அதிகாரப்பூர்வமாக ஆதரிக்காது . இருந்தாலும் .noConflict
, பெயரிடப்பட்ட நிகழ்வுகள், நீங்கள் சொந்தமாக சரிசெய்ய வேண்டிய பொருந்தக்கூடிய சிக்கல்கள் இருக்கலாம்.
சானிடைசர்
உதவிக்குறிப்புகள் மற்றும் பாப்ஓவர்கள் HTML ஐ ஏற்றுக்கொள்ளும் விருப்பங்களை சுத்தப்படுத்த எங்களின் உள்ளமைக்கப்பட்ட சானிடைசரைப் பயன்படுத்துகின்றன.
இயல்புநிலை allowList
மதிப்பு பின்வருமாறு:
var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i
var DefaultAllowlist = {
// Global attributes allowed on any supplied element below.
'*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
a: ['target', 'href', 'title', 'rel'],
area: [],
b: [],
br: [],
col: [],
code: [],
div: [],
em: [],
hr: [],
h1: [],
h2: [],
h3: [],
h4: [],
h5: [],
h6: [],
i: [],
img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
li: [],
ol: [],
p: [],
pre: [],
s: [],
small: [],
span: [],
sub: [],
sup: [],
strong: [],
u: [],
ul: []
}
இந்த இயல்புநிலையில் புதிய மதிப்புகளைச் சேர்க்க விரும்பினால் allowList
, பின்வருவனவற்றைச் செய்யலாம்:
var myDefaultAllowList = bootstrap.Tooltip.Default.allowList
// To allow table elements
myDefaultAllowList.table = []
// To allow td elements and data-bs-option attributes on td elements
myDefaultAllowList.td = ['data-bs-option']
// You can push your custom regex to validate your attributes.
// Be careful about your regular expressions being too lax
var myCustomRegex = /^data-my-app-[\w-]+/
myDefaultAllowList['*'].push(myCustomRegex)
நீங்கள் ஒரு பிரத்யேக நூலகத்தைப் பயன்படுத்த விரும்புவதால், எங்கள் சுத்திகரிப்பாளரைத் தவிர்க்க விரும்பினால், எடுத்துக்காட்டாக , DOMPurify , நீங்கள் பின்வருவனவற்றைச் செய்ய வேண்டும்:
var yourTooltipEl = document.getElementById('yourTooltip')
var tooltip = new bootstrap.Tooltip(yourTooltipEl, {
sanitizeFn: function (content) {
return DOMPurify.sanitize(content)
}
})