Unobtrusivelib

Unobtrusivelib est un ensemble de petits comportements javascripts dits "non-intrusifs", dans le sens où ils ont pour but de remplacer la présence de script dans le corps de la page, comme pour ouvrir une popup ou vider un champ de formulaire au clic.

Pour activer tous les modules, il faut appeler la méthode jQuery.unobtrusivelib() au chargement de la page :

jQuery(function(){
	jQuery.unobtrusivelib();
});

Il est également possible de ne lister que les modules utilisés dans un tableau :

jQuery(function(){
	jQuery.unobtrusivelib(["inputAutoFocus", "inputAutoClear", "popup", "external"]);
});

Description des différents modules :

Input Autofocus

Permet de donner le focus à un champ de formulaire au chargement.

Démonstration

Le contenu du champ suivant devrait prendre le focus au chargement de la page :

Utilisation

<input type="text" name="test" class="autofocus test test" />

Input Autoclear

Permet de vider le contenu d'un champ de formulaire au focus.

Démonstration

Le contenu du champ suivant devrait se vider lorsqu'il reçoit le focus :

Ce comportement ne se déclenche qu'au premier focus.

Utilisation


<input type="text" name="test" value="Entrez une valeur..." class="autoclear test test" />
<textarea rows="5" cols="10" class="autoclear test test">Entrez une valeur...</textarea>

Nouvelle fenêtre (target="_blank")

Le trop célèbre attribut target="_blank" sur un lien n'est plus valide depuis XHTML 1, pour de bonnes raisons.

Unobtrusivelib permet néanmoins de reproduire ce comportement en conservant la validité du document, s'il n'est pas possible de faire autrement.

Démonstration

Le lien contenu dans cette phrase devrait s'ouvrir dans une nouvelle fenêtre (ou un nouvel onglet) de votre navigateur.

L'attribut rel peut également contenir d'autres valeurs séparées par des espaces, pour appliquer des microformats par exemple.

Utilisation

Voici la syntaxe d'un lien ouvrant une nouvelle fenêtre :

<a href="http://www.example.com" rel="external">Example</a>

Téléchargement

Unobtrusivelib - compressé (1.3ko)

Unobtrusivelib - source (1.8ko)

Contact

Vous pouvez me contacter à l'adresse suivante : contact@pierrebertet.net