Depuis le 20 août dernier, la librairie javascript jQuery est désormais uniquement « hébergée » sur Google Ajax Libraries API au lieu du site officiel jQuery.
En conséquence, les scripts résidents sur code.jquery.com sont maintenant redirigés vers ajax.googleapis.com. Si vous utilisiez les services de code.jquery.com, c’est une bonne idée de migrer à présent.
Rappelons que ce service de Google mets à la disposition des développeurs (et des navigateurs du monde entier) la grande majorité des librairies ajax open-sources (Prototype, Mootools, YUI, Dojo and co).
L’intérêt d’un tel service est que vous bénéficiez de la puissance de feu de infrastructures réseau du géant avec une rapidité de service impressionnante (et vous sollicitez moins votre propre serveur) sans compté sur des versions continuellement à jour et « minimisées » afin d’optimiser un peu plus les temps de chargement pour vos utilisateurs.
Pour plus d’infos, allez donc faire un petit tour ici.
Vous souhaitez alerter vos utilisateurs s’ils ont modifié le contenu d’un formulaire et qu’ils s’apprêtent à quitter la page par l’intermédiaire d’un lien sans avoir validé ?
Un petit javascript permet de facilement accomplir cela.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| jQuery(document).ready(function() {
$(window).attr("isDirty", false);
$(":input").bind("change", function(event) {
if (event.target.value != event.target.defaultValue) {
$(window).attr("isDirty", true);
}
});
$(":checkbox,:radio").bind("click", function(event) {
if (event.target.checked != event.target.defaultChecked) {
$(window).attr("isDirty", true);
}
});
$("a, button").bind("click", function(event) {
if (window.isDirty) {
return confirm("Etes-vous sûre de vouloir quitter cette page sans enregistrer ?");
}
});
} |
L’astuce consiste à créer un attribut isDirty attaché à la page et à en changer l’état dès qu’une valeur de champ a été modifiée. Au chargement de la page, on attache des listeners aux champs, checkbox et boutons radio qui vont scruter leurs éventuelles modifications. Lorsque l’utilisateur clique sur un lien, on vérifie juste la valeur de cet état pour déclencher une demande de confirmation le cas échéant (qui dans le cas négatif, interrompt l’événement de changement de page).
On peut facilement adapter ce code à Prototype ou à MooTools afin de réaliser la même chose avec ses librairies.
La dernière mouture de la célèbre librairie Javascript est disponible ici.
Au menu :
- L’ordre de retour des éléments sélectionnés sont maintenant dans l’ordre d’apparition dans le document
- L’excellente fonction .live() permet maintenant d’éviter la propagation des événements
- Les fonction de manipulation du Dom comme .appentTo() retournent les éléments tels qu’ils ont été insérés par les appels de fonctions chainés.
Mais surtout, c’est un énorme travail d’optimisation qui semble avoir été accompli. Pour les détracteurs de jQuery dont l’argument principal était la lenteur, cela devrait remettre les pendules à l’heure.
Commentaires récents