Behaviour: separare Javascript da HTML

Domenica 26 Giugno 2005 - 13:41

di Cesare Lamanna

Scripting

Qualche mese fa ho tradotto per PRO una serie di articoli di Peter-Paul Koch usciti originariamente su Digital Web Magazine. Uno di essi è dedicato ad un tema caro a PPK e ad altri sostenitori del cosiddetto Unobtrusive Javascript: la separazione del codice Javascript dalla struttura, ovvero dal codice HTML della pagina.

La tesi di fondo è questa: a che serve creare documenti standard compliant, validi, con codice pulito e ben strutturato se poi lo si riempie di istruzioni Javascript che potrebbero invece essere tenute separate?

Sia benvenuta allora Behaviour, una libreria creata da Ben Nolan che offre una soluzione semplice e indolore per ottenere la tanto agognata separazione.

Tutto è ottenuto grazie all’uso dei selettori CSS: vengono usati per specificare gli elementi a cui aggiungere gli eventi Javascript. Ecco l’esempio di codice proposto da Nolan:

<li>
<a onclick=”this.parentNode.removeChild(this)” href=”#”>Click me to delete me</a>
</li>

Una semplice lista in cui cliccando sul li lo si fa scomparire. Come si vede, l’istruzione Javascript è richiamata con l’evento onclick inserito in un a. Roba triviale e stravista.

Usando Behaviour, invece, potremmo mantenere il codice molto più pulito:


<ul id="example">
<li>
<a href=”/someurl”>Click me to delete me</a>
</li>
</ul>

OK, Javascript è scomparso, ma come richiamiamo la funzione? Basta creare un JS da collegare alla pagina in cui andremo a inserire una serie di regole, così:


var myrules = {
‘#example li’ : function(el){
el.onclick = function(){
this.parentNode.removeChild(this);
}
}
};

Behaviour.register(myrules);

Attenzione alla seconda riga. Mettendo all’inizio #example li aggiungo l’evento a tutti gli elementi li discendenti dell’ul con id ‘example’.

Per altre demo si può vedere questa pagina. La documentazione è scarna, ma le poche istruzioni d’uso presenti sono molto chiare e più che sufficienti per iniziare a sperimentare.

Segnalo anche un articolo di Alessandro Fulciniti, ricchissimo di link e dedicato alle ultime evoluzioni di Javascript.

qwertyuiopasdfghjklzxcvbnmmnbvcxzlkj­hgfdsapoiuytrewqqwertyuiopasdfgh­jklzxcvbnmmnbvcxzlkjhgfdsapoiuytrewqqwert­yuiopasdfghjklzxcvbnmmnbv­cxzlkjhgfdsapoiuytrewqqwertyuiopas­dfghjklzxcvbnmmnbvcxzlkjhgfdsapo

Tags:

Categoria: Scripting | Permalink

Commenti

1

Grazie davvero molto utile. Ciao

# - postato da Eleonora - 10 Ottobre 2006 - 23:12

2

Ottimo

# - postato da cesare - 04 Dicembre 2006 - 13:18

3

Prova…

# - postato da cesare - 25 Gennaio 2007 - 14:30

4

Prova

# - postato da cesare - 18 Luglio 2007 - 17:45

5

Assolutamente interessante… Darò prestissimo un’occhiata approfondita alla documentazione…

# - postato da Paolo - 23 Maggio 2008 - 15:10

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento