Zachytávejte odkazy v elementu
důležitost: 5
Zajistěte, aby se všechny odkazy v elementu obsahujícím id="obsah" zeptaly uživatele, zda opravdu chce odejít. Pokud nebude chtít, prohlížeč na ně nepřejde.
Příklad:
Podrobnosti:
- HTML kód uvnitř elementu může být kdykoli načten nebo dynamicky generován, nemůžeme tedy najít všechny odkazy a umístit na ně handlery. Použijte delegování událostí.
- Obsah může obsahovat vnořené značky, a to i uvnitř odkazů, např.
<a href=".."><i>...</i></a>.
Zde skvěle využijeme vzorec delegování událostí.
Ve skutečném životě můžeme místo dotazu poslat na server požadavek na „logování“, který si uloží informace o tom, kam návštěvník odešel. Nebo můžeme načíst obsah a zobrazit jej přímo na stránce (pokud je to dovoleno).
Stačí nám zachytávat obsah.onclick a pomocí confirm se zeptat uživatele. Dobrý nápad by byl použít pro URL odkaz.getAttribute('href') namísto odkaz.href. Podrobnosti viz řešení.