JavaScript
გააცოცხლეთ Bootstrap ჩვენი არჩევითი JavaScript დანამატებით, რომლებიც აგებულია jQuery-ზე. შეიტყვეთ თითოეული მოდულის, ჩვენი მონაცემებისა და პროგრამული API პარამეტრების შესახებ და სხვა.
ინდივიდუალური ან შედგენილი
დანამატები შეიძლება ჩაერთოს ინდივიდუალურად (Bootstrap-ის ინდივიდუალური გამოყენებით js/dist/*.js
), ან ერთდროულად გამოყენებით bootstrap.js
ან შემცირებული bootstrap.min.js
(არ მოიცავს ორივეს).
თუ იყენებთ Bundler-ს (Webpack, Rollup…), შეგიძლიათ გამოიყენოთ /js/dist/*.js
ფაილები, რომლებიც მზადაა UMD.
დამოკიდებულებები
ზოგიერთი დანამატი და CSS კომპონენტი დამოკიდებულია სხვა დანამატებზე. თუ ინდივიდუალურად ჩართავთ დანამატებს, დარწმუნდით, რომ შეამოწმეთ ეს დამოკიდებულებები დოკუმენტებში. ასევე გაითვალისწინეთ, რომ ყველა დანამატი დამოკიდებულია jQuery-ზე (ეს ნიშნავს, რომ jQuery უნდა იყოს ჩართული დანამატის ფაილებამდე) . გაიარეთ კონსულტაციაpackage.json
, რომ ნახოთ jQuery-ის რომელი ვერსიებია მხარდაჭერილი.
ჩვენი ჩამოსაშლელი ფაილები, პოპოვერები და ინსტრუმენტების რჩევები ასევე დამოკიდებულია Popper.js-ზე .
მონაცემთა ატრიბუტები
Bootstrap-ის თითქმის ყველა დანამატის ჩართვა და კონფიგურაცია შესაძლებელია მხოლოდ HTML-ის საშუალებით მონაცემთა ატრიბუტებით (ჩვენი სასურველი გზა JavaScript ფუნქციონალურობის გამოყენებისთვის). დარწმუნდით, რომ გამოიყენეთ მონაცემთა ატრიბუტების მხოლოდ ერთი ნაკრები ერთ ელემენტზე (მაგ., თქვენ არ შეგიძლიათ გამოიყენოთ ინსტრუმენტის მინიშნება და მოდალი იმავე ღილაკიდან.)
თუმცა, ზოგიერთ სიტუაციაში შეიძლება სასურველი იყოს ამ ფუნქციის გამორთვა. მონაცემთა ატრიბუტის API-ს გასათიშად, გააუქმეთ ყველა მოვლენა დოკუმენტის სახელების ინტერვალით, data-api
ასე რომ:
ალტერნატიულად, კონკრეტული დანამატის დასამიზნებლად, უბრალოდ ჩართეთ მოდულის სახელი, როგორც სახელთა სივრცე, მონაცემთა api სახელების სივრცესთან ერთად, როგორიცაა:
სელექტორები
ამჟამად DOM ელემენტების შეკითხვისთვის ჩვენ ვიყენებთ მშობლიურ მეთოდებს querySelector
და querySelectorAll
შესრულების მიზეზების გამო, ასე რომ თქვენ უნდა გამოიყენოთ სწორი სელექტორები . თუ იყენებთ სპეციალურ სელექტორებს, მაგალითად: collapse:Example
აუცილებლად გაექცეთ მათ.
Ივენთი
Bootstrap უზრუნველყოფს მორგებულ მოვლენებს პლაგინების უნიკალურ ქმედებებისთვის. როგორც წესი, ესენი მოდის ინფინიტივი და წარსული ნაწილაკის სახით - სადაც ინფინიტივი (მაგ. show
) ჩნდება მოვლენის დაწყებისას, ხოლო მისი წარსული ნაწილაკი (მაგ. shown
) მოქმედების დასრულებისას.
ყველა უსასრულო მოვლენა უზრუნველყოფს preventDefault()
ფუნქციონირებას. ეს იძლევა შესაძლებლობას შეაჩეროს მოქმედების შესრულება მის დაწყებამდე. ღონისძიების დამმუშავებლისგან false-ის დაბრუნება ასევე ავტომატურად გამოიძახებს preventDefault()
.
პროგრამული API
ჩვენ ასევე გვჯერა, რომ თქვენ უნდა შეძლოთ Bootstrap-ის ყველა დანამატის გამოყენება მხოლოდ JavaScript API-ის მეშვეობით. ყველა საჯარო API არის ერთჯერადი, ჯაჭვური მეთოდები და აბრუნებს მოქმედების კოლექციას.
ყველა მეთოდმა უნდა მიიღოს არასავალდებულო ოფციების ობიექტი, სტრიქონი, რომელიც მიზნად ისახავს კონკრეტულ მეთოდს, ან არაფერს (რომელიც იწყებს ნაგულისხმევი ქცევის დანამატს):
თითოეული მოდული ასევე ავლენს თავის ნედლეულ კონსტრუქტორს Constructor
თვისებაზე: $.fn.popover.Constructor
. თუ გსურთ მიიღოთ კონკრეტული მოდულის მაგალითი, აიღეთ იგი პირდაპირ ელემენტიდან: $('[rel="popover"]').data('popover')
.
ასინქრონული ფუნქციები და გადასვლები
ყველა პროგრამული API მეთოდი ასინქრონულია და უბრუნდება აბონენტს გადასვლის დაწყების შემდეგ, მაგრამ მის დასრულებამდე .
გადასვლის დასრულების შემდეგ მოქმედების შესასრულებლად, შეგიძლიათ მოუსმინოთ შესაბამის მოვლენას.
გარდა ამისა, მეთოდის გამოძახება ა გარდამავალ კომპონენტზე იგნორირებული იქნება .
ნაგულისხმევი პარამეტრები
თქვენ შეგიძლიათ შეცვალოთ მოდულის ნაგულისხმევი პარამეტრები მოდულის შეცვლითConstructor.Default
ობიექტის შეცვლით:
არანაირი კონფლიქტი
ზოგჯერ საჭიროა Bootstrap დანამატების გამოყენება სხვა UI ჩარჩოებთან ერთად. ამ პირობებში, სახელთა სივრცის შეჯახება ზოგჯერ შეიძლება მოხდეს. თუ ეს მოხდება, შეგიძლიათ დარეკოთ.noConflict
დანამატს, რომლის მნიშვნელობის დაბრუნება გსურთ.
ვერსიის ნომრები
Bootstrap-ის jQuery-ის თითოეული მოდულის ვერსიაზე წვდომა შესაძლებელიაVERSION
მოდულის კონსტრუქტორის საკუთრების მეშვეობით. მაგალითად, ხელსაწყოების მოდულისთვის:
არ არის სპეციალური ჩანაცვლება, როდესაც JavaScript გამორთულია
Bootstrap-ის დანამატები არ იბრუნებს განსაკუთრებით მოხდენილად, როდესაც JavaScript გამორთულია. თუ გაინტერესებთ მომხმარებლის გამოცდილება ამ შემთხვევაში, გამოიყენეთ<noscript>
სიტუაციის ახსნა (და როგორ ხელახლა ჩართოთ JavaScript) თქვენს მომხმარებლებს და/ან დაამატეთ თქვენი საკუთარი შენიშვნები.
მესამე მხარის ბიბლიოთეკები
Bootstrap ოფიციალურად არ უჭერს მხარს მესამე მხარის JavaScript ბიბლიოთეკებს , როგორიცაა Prototype ან jQuery UI. მიუხედავად .noConflict
და სახელთა სივრცის მოვლენებისა, შეიძლება არსებობდეს თავსებადობის პრობლემები, რომლებიც დამოუკიდებლად უნდა მოაგვაროთ.
უტილ
Bootstrap-ის ყველა JavaScript ფაილი დამოკიდებულიაutil.js
და ის უნდა იყოს ჩართული სხვა JavaScript ფაილებთან ერთად. თუ თქვენ იყენებთ შედგენილ (ან მინიფიცირებულ) bootstrap.js
, არ არის საჭირო ამის ჩართვა — ის უკვე არსებობს.
util.js
მოიცავს სასარგებლო ფუნქციებს და ძირითად დამხმარეს transitionEnd
ღონისძიებებისთვის, ასევე CSS გადასვლის ემულატორს. მას სხვა დანამატები იყენებენ CSS გადასვლის მხარდაჭერის შესამოწმებლად და ჩამოკიდებული გადასვლების დასაჭერად.
სადეზინფექციო საშუალება
Tooltips და Popovers იყენებენ ჩვენს ჩაშენებულ სადეზინფექციო საშუალებებს იმ ვარიანტების გასაწმენდად, რომლებიც იღებენ HTML-ს.
ნაგულისხმევი whiteList
მნიშვნელობა შემდეგია:
თუ გსურთ დაამატოთ ახალი მნიშვნელობები ამ ნაგულისხმევში whiteList
, შეგიძლიათ გააკეთოთ შემდეგი:
თუ გსურთ გვერდის ავლით ჩვენი სადეზინფექციო საშუალება, რადგან გირჩევნიათ გამოყოფილი ბიბლიოთეკის გამოყენება, მაგალითად DOMPurify , თქვენ უნდა გააკეთოთ შემდეგი: