```
### JavaScript API:
```javascript
// Otevřenà modalu přes JavaScript
var myModal = new bootstrap.Modal(document.getElementById('myModal'))
myModal.show()
// ZavĹ™enĂ
myModal.hide()
// Přepnutà (toggle)
myModal.toggle()
```
### Modal events:
```javascript
var modalEl = document.getElementById('myModal')
// PĹ™ed otevĹ™enĂm
modalEl.addEventListener('show.bs.modal', function () {
console.log('Modal se otevĂrá')
})
// Po otevĹ™enĂ
modalEl.addEventListener('shown.bs.modal', function () {
console.log('Modal je otevřený')
})
// PĹ™ed zavĹ™enĂm
modalEl.addEventListener('hide.bs.modal', function () {
console.log('Modal se zavĂrá')
})
// Po zavĹ™enĂ
modalEl.addEventListener('hidden.bs.modal', function () {
console.log('Modal je zavřený')
})
```
## 🎯 PraktickĂ© pĹ™Ăklady
### Modal s formulářem:
```html
Opravdu chcete smazat tento záznam?
```
## 🎨 PraktickĂ© vyuĹľitĂ
- **PĹ™ihlášenĂ/Registrace** - formulář v modalu
- **PotvrzenĂ akce** - "Opravdu smazat?"
- **Detaily produktu** - zobrazenĂ vĂce informacĂ
- **Galerie obrázků** - lightbox efekt
- **Video přehrávač** - YouTube/Vimeo embed
- **Notifikace** - důležité zprávy
## ⚠️ Důležité poznámky
1. **Modal musĂ mĂt jedineÄŤnĂ© ID**
2. **Bootstrap.js musà být připojen** - modal funguje na JavaScriptu
3. **data-bs-target musĂ odpovĂdat ID modalu**
4. **VnoĹ™enĂ© modaly se nedoporuÄŤujĂ** (modal v modalu)
5. **Backdrop** (tmavĂ© pozadĂ) se dá vypnout: `data-bs-backdrop="false"`
## đź”— SouvisejĂcĂ lekce
- **PĹ™edchozĂ:** 16_carousel - Bootstrap carousel
- **SouvisejĂcĂ:**
- 15_bootstrap_components - ostatnĂ komponenty
- AI_extra_material/ai_04_prep_bootstrap - vlastnĂ modal implementace
- **Dokumentace:** [Bootstrap Modal](https://getbootstrap.com/docs/5.3/components/modal/)