AJAX / 2.0 : : : : : JQUERY

Documents pareils
Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

TP JAVASCRIPT OMI4 TP5 SRC

Programmation Web. Madalina Croitoru IUT Montpellier

Devenez un véritable développeur web en 3 mois!

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Ajax, RIA et HTML Prise en charge d Ajax

Présentation du Framework BootstrapTwitter

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Optimiser pour les appareils mobiles

Formation : WEbMaster

Bonnes pratiques de développement JavaScript

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

DOM - Document Object Model

< Atelier 1 /> Démarrer une application web

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

SYSTÈMES D INFORMATIONS

Petite définition : Présentation :

Optimiser les performances d un site web. Nicolas Chevallier Camille Roux

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

HTML, CSS, JS et CGI. Elanore Elessar Dimar

{less} Guide de démarrage

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

les techniques d'extraction, les formulaires et intégration dans un site WEB

BES WEBDEVELOPER ACTIVITÉ RÔLE

Module http MMS AllMySMS.com Manuel d intégration

Intégrateur Web HTML5 CSS3

26 Centre de Sécurité et de

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

SII Stage d informatique pour l ingénieur

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Google Tag Manager v2 v1 dispo sur GTM pour les nuls dispo sur

Java Licence Professionnelle CISII,

ECLIPSE ET PDT (Php development tools)

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Nouveautés joomla 3 1/14

Introduction à Expression Web 2

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Un jour, une question Réponse à une problématique issue de la liste GTA *

Programmation Internet Cours 4

Webmaster / Webdesigner / Wordpress

FileMaker Server 12. publication Web personnalisée avec XML

Spécifications techniques

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière

HTML5 et CSS3 pour des sites Responsive Web Design

Manuel du composant CKForms Version 1.3.2

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Formation Webmaster : Création de site Web Initiation + Approfondissement

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

RELEASE NOTES. Les nouveautés Desktop Manager 2.8

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Introduction à MATLAB R

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Gestion d identités PSL Exploitation IdP Authentic

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Document Object Model (DOM)

Attaques de type. Brandon Petty

Plan du cours. Historique du langage Nouveautés de Java 7

Optimiser moteur recherche

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Introduction : présentation de la Business Intelligence

Point sur les solutions de développement d apps pour les périphériques mobiles

4D Web 2.0 Pack DATA LIVES HERE. TM. Internet Riche et Solutions Mobiles en toute simplicité. 4D Ajax Framework 4D Ajax for Dreamweaver 4D for Flex

Cloud public d Ikoula Documentation de prise en main 2.0

SAP BusinessObjects Web Intelligence (WebI) BI 4

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Google Tag Manager. Optimisez le tracking de votre site web. Google Tag Manager. Google Tag Manager. Optimisez le tracking de votre site web 26,50

4. SERVICES WEB REST 46

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

Chapitre 1. Prise en main

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

WordPress, thèmes et plugins : mode d'emploi

PHP 5.4 Développez un site web dynamique et interactif

Projet en nouvelles technologies de l information et de la communication

Démonstration de la mise en cache via HTML 5 sur iphone

Notes de mise à jour. 4D v11 SQL Release 2 (11.2) Notes de mise à jour

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Responsive Web Design. La Rochelle, Avril 2014

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Pour en expliquer le principe, on se limitera à deux exemples :

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

4D Business Kit version 2.2 ADDENDUM

Les services usuels de l Internet


Transcription:

1 Introduction / Web 2.0 Comprendre le principe Coder en javascript JQuery : Les bases JQuery : Les événements JQuery : Les effets JQuery : Les échanges (Ajax) Utiliser les plug-ins Aller plus loin avec JQuery AJAX : JQUERY

2 Le modèle Client/Serveur Utiliser javascript Pourquoi un framework? JQuery / JQuery UI Débugger et tester le code INTRODUCTION / WEB 2.0

CLIENT/SERVEUR 3 Modèle Web Questions/Réponses Requête http://... Retour normalisé : XHTML/HTML5/CSS Le javascript est dans la page et est exécuter par le client! Requête http://serveur/page.html Client Réponse HTML + CSS + JS Serveur

UTILISER JAVASCRIPT 4 «JavaScript est un langage interprété par le navigateur. Le JavaScript est un langage «client», c'est-à-dire exécuté chez l'utilisateur lorsque la page Web est chargée. Il a pour but de dynamiser les sites Internet.» Les navigateurs : Chaque navigateur interprète à sa façon Javascript et possède ses propres objets -> Difficilement compatible entre les différents navigateurs. -> Test du W3C : ACID 1/2/3 http://en.wikipedia.org/wiki/acid3

UTILISER JAVASCRIPT 5 A ne pas oublier : Javascript n est pas sécurisé! Ne pas faire confiance à une donnée provenant du client On doit pouvoir sans passer... Lynx est un navigateur sans javascript On ne peux garantir le résultat... La page doit fonctionner sans Javascript

POURQUOI UN FRAMEWORK? 6 5 raisons (et bien plus) S abstraire des problèmes de compatibilité des navigateurs Code normalisé Méthodes simplifiée Gestion de plug-ins Forte communauté et aussi... Documentation disponible Actualisé Evolutif...

JQUERY / JQUERY UI 7 JQuery http://jquery.com/ Noyau de base qui gère : Les sélecteurs, Les événements, Ajax JQuery UI http://jqueryui.com/ Fonctionnalités pour gérer l'interface Utilisateur Demande le noyau JQuery pour fonctionner Effets de déplacement (drag), Effets pour re-dimensionner les objets, Outils pour les interactions de l'utilisateur (dialogues...)

DEBUGGER ET TESTER 8 Les navigateurs 'modernes' intègre un outil de debuggage Pour Chrome/Safari Menu 'présentation' -> 'Options pour les développeurs' -> Console JavaScript Pour Firefox Utiliser le module 'Web Developer' https://addons.mozilla.org/fr/firefox/addon/web-developer/

9 DOM Scripts Chargement dynamique XMLHTTPRequest COMPRENDRE LE PRINCIPE

DOM 10 Document Object Model Modèle objets de la page fabriqué par le navigateur Permet la manipulation du contenu au format XML C est une représentation logique de la page HTML Les transformations appliquées au DOM sont renvoyées à l affichage

SCRIPTS 11 Deux emplacements : Dans la page HTML XHTML <script type="text/javascript">... </script> HTML5 <script>...</script> Dans un document externe.js XHTML <script type="text/javascript" src="fichier.js"></script> HTML5 <script src="fichier.js"></script>

SCRIPTS 12 Intégrer la bibliothèque JQuery : Depuis le site Officiel http://jquery.com <script src="jquery.js"></script> Utilisé depuis les API Google http://code.google.com/intl/fr/apis/libraries/ <script src="http://www.google.com/jsapi"></script> <script>google.load("jquery", "1.5.2");</script> Attendre la chargement complet du DOM pour commencer à exécuter le code javascript Javascript : window.onload = function(){... }; JQuery : $(document).ready(function() {... }); $(function(){... });

CHARGEMENT DYNAMIQUE 13 Dynamic Script Loading Javascript permet le chargement dynamique de scripts externes... Exemple 1 document.write("<script src= fichier.js ><\/script>"); Exemple 2 var monscript = document.createelement("script"); monscript.src = "fichier.js"; monscript.type = "text/javascript"; document.body.appendchild(monscript);

XMLHTTPREQUEST 14 Objet ActiveX ou Javascript: Permet d obtenir des données au format HTML, JSON ou XML à l aide d une requête HTTP en arrière plan. Requête synchrone La page est bloquée pendant la requête jusqu au chargement des données reçues. Exemple : La page se recharge totalement pour afficher la suite. Requête asynchrone La page reste active pendant que la requête s exécute en arrière plan. Exemple : La page ne bouge pas, le résultat de la requête est intégré à une partie de la page.

15 Syntaxe du langage Les variables Structures conditionnelles Structures de boucles Structures de dialogues Les objets Les fonctions CODER EN JAVASCRIPT

SYNTAXE DU LANGAGE 16 Les opérateurs Nombres et textes var1 = 1;!!! // nombre var2 = '1';!!! // texte var3 ++;!!!! // incrément Logique var1 && var2;!! // ET logique var1 var2;!! // OU logique Comparaison var1 == var2;!! // égal var1!= var2;!! // différent

LES VARIABLES 17 Utilisation de variables Déclaration var mavariable; var mavariable = 1; var mavariable = 1, secondevar = "bonjour", troisemevar = function(); Portée des variables Une variable déclarée dans une fonction n'est accessible que dans cette fonction. Une variable déclarée dans l'entête du script est accessible partout.

LES VARIABLES 18 Utilisation des tableaux (array) Déclaration var montableau = [ 'Tintin', 'Milou' ]; Fonction sur les tableaux Méthode push() Ajoute un élément montableau.push('haddock'); Méthode join() Réunis les éléments montableau.join('');!! // "TintinMilouHaddock"...

CONDITIONNELLES 19 Syntaxe If... Else if (var == 1){... }else{... } Switch switch(variable){ case 'a':... break; case 'b':... break; }

STRUCTURES DE BOUCLES 20 Syntaxe for for (var i = 1; i < 100; i++){... } while Pas réalisée si i est supérieur à 100 while(i < 100){ i++; } do... while Réalisée au moins une fois do{... }while (false);

STRUCTURES DE DIALOGUES 21 Interactions avec l'utilisateur Méthode alert() alert('bonjour'); Méthode confirm(); confirm('question?');!!! // true ou false Méthode prompt(); prompt('question?','chaîne par défaut');

LES OBJETS 22 Variables constituées d'une combinaison 'chaine', 'valeur' Déclaration var monobjet = { 'nom'!! : 'Tintin', 'animal'! : 'Milou' } Utilisation monobjet.nom!!! // Tintin

LES FONCTIONS 23 Définir du code dans un bloc exécutable Déclaration function test(){... } Passage de paramètres function test2(param1, param2){ return param1 + param2; } test2(1,5);!! // 6 Fonction auto-exécutée (JQuery) (function(){ alert('hello world'); })();

24 Utiliser les sélecteurs Manipuler le HTML Manipuler les CSS Manipuler les éléments JQUERY : LES BASES

UTILISER LES SÉLECTEURS 25 La fonction jquery() ou $() Fonction de base pour JQuery Exemple : $("#titre")! => Sélectionne la balise ayant pour ID "titre" $("h1")!! => Sélectionne les balises <h1> $(".gras")! => Sélectionne les balises ayant pour classe "gras" $("a,h2")! => Sélectionne les balises <a> et <h2> $("#")!! => Sélectionne toutes les balises Spécificités JQuery : :hidden, :visible, :not(s), :first, :last, :header... $(".annonce:hidden") => Elément de classe annonce qui est masqué $(":not(img)")!! => Ce qui n'est pas une image

MANIPULER LE HTML 26 Le texte : Méthode text() Les caractères HTML sont convertis $("#titre).text();!!!! => Charge le texte $("#titre).text("bonjour");!! => Modifie le texte Méthode html() Le HTML brut est utilisé $("#titre).html(); $("#titre).html("<b>bonjour</b>"); Méthode replacewith() Remplace le contenu d'une balise Méthodes prepend() et append() Ajoute avant ou après du contenu Méthode wrap() Enveloppe avec des balises Ex. : $("#titre").wrap("<i></i>"); Exemple 1.1 / fichier 1.1.html

MANIPULER LES CSS 27 Les styles : Méthode CSS() Permet de lire ou attribuer un style Méthode addclass() Ajoute dynamiquement une classe à un élément Méthodes removeclass() Retire une classe Méthode toggleclass() Alterne l'utilisation d'une classe Les dimensions et position Méthodes width() et height() Récupère ou fixe la taille d'un élément Méthode position() Récupère la position d'un élément Exemple 1.2 / fichier 1.2.html

MANIPULER LES ÉLÉMENTS 28 Ajouter un élément Utiliser les méthodes texte() ou html() Méthode clone() Permet de dupliquer un élément Supprimer un élément Méthode remove() Supprime l'élément du DOM Méthode detach() Supprime l'élément mais permet de le ré-insérer plus tard (variables) Exemple 1.3 / fichier 1.3.html

29 Utiliser les écouteurs Utiliser l'élément de l'écouteur Déclencher un événement Transmettre l'événement Les particularités de JQuery JQUERY : LES ÉVÉNEMENTS

UTILISER LES ÉCOUTEURS 30 Ecouteurs Connecter des événements aux éléments element.addeventlistener('evenement',function(){... }); element.evenement(function(){... }); Méthode bind() et unbind() Permet d'attacher un événement à un élément $('#lien').bind('click', function() {... }); Méthodes nommées click, focus, load, mouseover, change, select, submit... $('#lien').click(function() {... }); Exemple 2.1 / fichier 2.1.html

UTILISER L'ÉLÉMENT 31 Utiliser l'élément qui à déclenché l'événement "L'élément qui a déclenché est intégré à la fonction de l'événement sous le paramètre 'e'" Méthode preventdefault() Annule l'action par défaut Méthode stoppropagation() Annuler la propagation de l'événement -> Paramètre 'e' dans la fonction $('#lien').click(function(e) { e.preventdefault(); e.stoppropagation(); }); Exemple 2.1 / fichier 2.1.html

DÉCLENCHER UN ÉVÉNEMENT 32 Déclencher un événement à partir du code Méthode trigger() $("#test").trigger("click"); Exemple 2.1 / fichier 2.1.html

TRANSMETTRE L'ÉVÉNEMENT 33 Transmettre l'événement aux éléments futur Méthode live() Permet de transmettre l'événement aux prochains éléments $('#liste li').live('click', function(e) {... }); Méthode delegate() Permet de transmettre l'événement aux prochains éléments spécifiques (li) $('#liste').delegate('li', 'click', function(e) {... }); Exemple 2.1 / fichier 2.1.html

PARTICULARITÉS JQUERY 34 Utiliser les événements particuliers Evénement hover() Avec toogleclass permet d'alterner au survol Evénement toggle() Prend en charge le va et viens $('#ligne').toggle(function() { etat1 },function() { etat2 }); Exemple 2.1 / fichier 2.1.html

35 Utiliser un effet (I/II) Utiliser les animations Gérer les enchaînements Etudes de cas JQUERY : LES EFFETS

UTILISER UN EFFET 36 Fonction d'effets intégrées à JQuery Méthode show() Méthode hide() Méthode fadein() Méthode fadeout() Méthode slidedown() Méthode slideup() Méthode slidetoggle() $('h1').show(); Exemple 3.1 / fichier 3.1.html

UTILISER UN EFFET 37 Modifier la durée des effets Permet d'intervenir sur la durée de réalisation de l'effet (en millisecondes) : La durée par défaut est de 300ms $('h1').fadein(300); $('h1').fadeout('slow'); Les vitesses d'animation de jquery Des valeurs par défaut sont utilisables : slow = 600 ms fast = 200 ms Création de vitesse personnalisées : jquery.fx.speeds.tortue = 2000; Exemple 3.1 / fichier 3.1.html

UTILISER LES ANIMATIONS 38 Appliquer des effets avancés Méthode animate() $('#logo').animate({ modifications }, durée, fonction_fin); Modifications : Attributs CSS Durée : En millisecondes fonction_fin : Fonction appelée en fin d'animation $('#logo').animate({ left: "+=50" }, 600, function(){ alert('terminé!'); }); Exemple 3.2 / fichier 3.2.html

UTILISER LES ANIMATIONS 39 Utiliser des transitions Avec le plugin jquery Easing Plugin http://gsgd.co.uk/sandbox/jquery/easing/ $('#logo2').animate({ 'padding-left': "+=250","easeOutElastic"] }, 2000, function(){ alert('terminé!'); }); Les effets peuvent être enchainés $('#logo').show(300).delay(1000).hide(300); Exemple 3.2 / fichier 3.2.html

ETUDES DE CAS 40 Gestion des animations/déplacement de la fenêtre du navigateur Utiliser la détection de scroll : Méthodes scroll() et scrolltop() $(window).scroll(function(){ alert( $(this).scrolltop() ); }) Animer la remonter de la page $('body,html').animate({ scrolltop: 0 }, 800); Exemple 3.3 / fichier 3.3.html

41 AJAX Manipuler du XML Manipuler des données JSON Passer par un formulaire Utiliser les événement AJAX JQUERY : LES ÉCHANGES

AJAX 42 Debugage Pour Chrome/Safari Utiliser le panneau 'Outils de développements' puis -> Onglet 'Network' -> XHR

AJAX 43 Requête asynchrone Méthode GET $.get('fichier.php', function(reponse) {... }); Méthode POST $.post('fichier.php', function(reponse) {... }); Méthode AJAX $.ajax({url:'fichier.php',type:'get',success:function(r){...}}); Méthode LOAD $('#cible').load('fichier.html'); Exemple 4.1 / fichier 4.1.html

AJAX 44 Envoi de données Soit : Données sous forme d'un Objet {id:12, nom='tintin'} Données sous forme d'une chaîne "id=12&nom=tintin" $.ajax({ url:'fichier.html', type:'get', data: {id:12}, success:function(r){...} }); URL (en GET) http://.../fichier.html?id=12 Exemple 4.2 / fichier 4.2.html

MANIPULER DU XML 45 Extensible Markup Language Format de données pour les échanges <adresses> <fiche nom='tintin' /> <fiche nom='milou' /> </adresses> Ouvrir le résultat d'une requête retournant du XML Utilisation d'une boucle (each) pour parcourir le contenu $(xml).find('noeud').each(function(){ $(this).attr('champ'); } Exemple 4.3 / fichier 4.3.html

MANIPULER JSON 46 JavaScript Object Notation Format de données pour les échanges { "Tintin":4, "Milou":2, "Castafiore":1, "Haddock":3, "Tournesol":5 } Ouvrir le résultat d'une requête retournant du JSON Utilisation d'une boucle (each) pour parcourir le contenu $.each(json, function(key,value){ alert(key + ':' + value); }) Exemple 4.4 / fichier 4.4.html

PASSER PAR UN FORMULAIRE 47 Assemblage des informations du formulaire Méthode serialize() $('#monformulaire').serialize(); Donne en GET :?champ1=valeur1&champ2=valeur2&champ3=valeur3... Exemple 4.5 / fichier 4.5.html

LES ÉVÉNEMENT AJAX 48 Jouer sur l'affichage d'un indicateur Méthode ajaxstart() et ajaxstop() $('#loader').ajaxstart(function() {! $(this).show(); }) $('#loader').ajaxstop(function() {! $(this).hide(); }) Exemple 4.6 / fichier 4.6.html

49 Utiliser JQuery UI JQuery UI : Accordéons JQuery UI : Dialogues JQuery UI : Onglets UTILISER LES PLUG-INS

UTILISER JQUERY UI 50 Composants http://jqueryui.com/download UI Core Moteur de JQueryUI (demande JQuery) Interactions Outils pour les interactions utilisateur Widgets Amélioration pour les interfaces (dialogues) Effets Effets d'animations avancés Thèmes http://jqueryui.com/themeroller/ Gestion de thèmes CSS pour le kit UI

JQUERY UI : ACCORDÉONS 51 Créer des sections en accordéons Structure HTML <div id="accordion"> <h4>section 1</h4> <div>lorem ipsum dolor sit amet</div> <h4>section 2</h4> <div>totam rem aperiam, eaque ipsa quae</div> </div> Code Javascript $( "#accordion" ).accordion(); Exemple 5.1 / fichier 5.1.html

JQUERY UI : DIALOGUES 52 Créer des boîtes de dialogues Structure HTML <div id="dialog" title="lorem ipsum dolor sit amet"> <p>lorem ipsum dolor sit amet</p> </div> Code Javascript $('#dialog').dialog(); Exemple 5.2 / fichier 5.2.html

JQUERY UI : ONGLETS 53 Créer des boîtes à onglets Structure HTML <div id="tabs"> <ul> <li><a href="#tabs-1">onglet 1</a></li> <li><a href="#tabs-2">onglet 2</a></li> </ul> <div id="tabs-1">contenu 1...</div> <div id="tabs-2">contenu 2...</div> </div> Code Javascript $( "#tabs" ).tabs(); Exemple 5.2 / fichier 5.2.html

54 Fonction personnalisée pour JQuery Evénement personnalisé pour JQuery Créer un widget JQuery PLUS LOIN AVEC JQUERY

FONCTION PERSONNALISÉE 55 Ajoute une fonction dans l'ensemble des fonctions de JQuery Utilisation de $.fn $.fn.mafonction = function(){... } Appel de la fonction $("#bouton").mafonction(); Exemple 6.1 / fichier 6.1.html

EVÉNEMENTS CUSTOM 56 Créer ses événement personnalisés Déclarer un événement avec une fonction $(document).bind('monevent',function(e, arg1, arg2){ console.log(arg1); console.log(arg2); } ); Appeler l'événement personnalisé (avec paramètres) $(document).trigger('monevent', [ 'bim', 'baz' ]); Exemple 6.2 / fichier 6.2.html

CRÉER UN WIDGET JQUERY 57 Définition d'un widget Création du widget $.widget('ui.votes', {... }) Gestion des options options: {cache: true, value: 0} Constructeur _create: function() {... } Méthode publique value: function() { return this.options.value; } Exemple 6.3 / fichier 6.3.html

LICENCE 58 Vous êtes libres : de reproduire, distribuer et communiquer cette création au public Selon les conditions suivantes : Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre). Pas d'utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette création à des fins commerciales. Pas de Modification. Vous n'avez pas le droit de modifier, de transformer ou d'adapter cette création. http://creativecommons.org/licenses/by-nc-nd/3.0/deed.fr