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 :

Fonctionnement

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

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

Fonctionnement

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

<input type="text" name="test" value="Entrez votre nom..." class="autoclear test test" />

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.

Fonctionnement

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é (1ko)

Unobtrusivelib - source (1.2ko)

Contact

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