zpět k lekci

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>.

Otevřít pískoviště pro úlohu.

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í.

Otevřít řešení na pískovišti.