Catturare i links nell'elemento
Fate in modo che tutti i links dentro lâelemento con id="contents" chiedano allâutente se vuole davvero abbandonare la pagina al click. Se risponde no, allora non deve seguire il link.
Come nellâesempio seguente:
Dettagli:
- LâHTML dentro lâelemento potrebbe essere caricato o rigenerato in qualunque istante, quindi non possiamo trovare tutti i links ed inserirvi dei gestori allâinterno. Utilizzare invece la event delegation.
- Il contenuto può contenere tags annidati. Anche dentro i links, per esempio potremmo avere
<a href=".."><i>...</i></a>.
Questo è un ottimo uso del pattern event delegation.
In applicazioni concrete, invece di chiedere, potremmo inviare una richiesta di âloggingâ al server, che salvi lâinformazione relativa al momento in cui lâutente ha deciso di abbandonare la pagina. Oppure potremmo caricare il contenuto e mostrarlo direttamente in pagina (se permesso).
Tutto ciò di cui abbiamo bisogno è di catturare i contents.onclick ed usare confirm per chiedere allâutente. Una buona idea potrebbe essere quella di usare link.getAttribute('href') invece di link.href per lâURL. Guarda la soluzione per i dettagli.