Introduzione a jquery

Documenti analoghi
JavaScript - 4. Modello ad oggetti tradizionale. L ambiente del web browser 1

Esercizi di JavaScript

NVU Manuale d uso. Cimini Simonelli Testa

Il linguaggio HTML - Parte 3

Laboratorio Progettazione Web PHP e FORMs HTML. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014

Lezione 6: Form 27/04/2012

04/05/2011. Lezione 6: Form

Portale cartografico del Servizio Geologico, Sismico e dei Suoli Guida utente

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Guida introduttiva al Document Object Model

Form Editor. Dove NomeProfilo è personalizzabile.

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

OSSIF WEB. Manuale query builder

AJAX e altre applicazioni di Javascript. Luca Fabbri

I Tag dell html. Parte quarta

Personalizza. Page 1 of 33

Javascript. Politecnico di Milano Facoltà del Design Bovisa Elementi di Informatica e Reti di calcolatori

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Area riservata. Manuale cliente v1.0

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

A. Carullo Introduzione a Visual Basic. Introduzione a

Guida operativa. My Legal Corner. BestSoft SOFTWARE IN SANITÀ

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

SOMMARIO... 3 INTRODUZIONE...

PROGETTO TESSERA SANITARIA CERTIFICATI DI MALATTIA MANUALE D USO

Workland CRM. Workland CRM Rel /11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB

Istituto Nazionale di Previdenza per i Dipendenti dell Amministrazione Pubblica

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Come modificare la propria Home Page e gli elementi correlati

Istruzioni per la configurazione di Internet Explorer

Gli allarmi che possono essere inseriti sono di tre tipi diversi:

LA GESTIONE DEI VEICOLI AZIENDALI CON MICROSOFT OUTLOOK

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

BRC CAR SERVICE CRM Manuale operativo

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

MANUALE EDICOLA 04.05

Indice. I livelli di Autorizzazione in Sharepoint. Livelli di autorizzazione predefiniti di Windows SharePoint Services 3.0

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Guida all uso di Java Diagrammi ER

Guida di Pro Spam Remove

FISH Sardegna ONLUS. Manuale Utente.

Sistema Informativo di Teleraccolta EMITTENTI

Registratori di Cassa

WGDESIGNER Manuale Utente

X-Letter Gestione Newsletter (versione template o landing pages)

MANUALE PARCELLA FACILE PLUS INDICE

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

DENUNCE EDILCONNECT GUIDA COMPILAZIONE

MANUALE PORTALE UTENTE IMPRENDITORE

Introduzione. Installare EMAS Logo Generator

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

ALBO PRETORIO WEB MANUALE DELLA PROCEDURA SOMMARIO. Uso del manuale. Informazioni generali. Interfaccia grafica. Guida di riferimento

Dipartimento per le Libertà Civili e l Immigrazione

Progetto INCOME. Manuale Utente Operatore Installazione

REPORT DI VALUTAZIONE DELL ACCESSIBILITÀ

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Dipartimento per le Libertà Civili e l Immigrazione

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Manuale d'uso. Manuale d'uso Primo utilizzo Generale Gestione conti Indici di fatturazione Aliquote...

Manuale MyGOLD. 1)Nuovo sito, per creare un nuovo ipertesto 2)Pannello di controllo, per modificare o cancellare un ipertesto già inserito.

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Siti interattivi e dinamici. in poche pagine

GENERAZIONE RAPPORTO XML

Catalogo Elettronico Lancia, Fiat e Alfa Romeo

BIBLIO. Fabio Cannone Consulente Software. Settembre fabcanno@gmail.com -

Dott.ssa Adriana Pietramala

CONTENT MANAGEMENT SY STEM

Word. Cos è Le funzioni base Gli strumenti. 1

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Servizio Telematico Paghe

Manuale per i redattori del sito web OttoInforma

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

LA PIATTAFORMA DEL PROGETTO ORIENTAMENTO. Guida per Studente

Manuale utente Volta Control

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

FotoAeree. La Sardegna vista dall alto MANUALE PER L USO DELL APPLICAZIONE

Esercitazione n. 10: HTML e primo sito web

MANUALE D USO DELLA PIATTAFORMA ITCMS

MUDE Piemonte. Modalità operative per eseguire Firma e inoltro del modello

Manuale per la Comunicazione Polivalente 2015: SPESOMETRO

WEBGIS 1.0. Guida per l utente

FtpZone Guida all uso Versione 2.1

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

Esercizio data base "Biblioteca"

Transcript:

Introduzione a jquery Emiliano Castellina Dipartimento di Automatica e Informatica Politecnico di Torino Introduzione a jquery by Emiliano Castellina is licensed under a Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported License.

Sommario Introduzione Selettori Operazioni sugli oggetti selezionati Eventi 2

INTRODUZIONE 3

Libri Consigliati jquery in Action Autori: Bear Bibeault and Yehuda Katz Febbraio, 2008 376 pagine ISBN: 1933988355 jquery UI 1.7: The User Interface Library for jquery Autore: Dan Wellman Novembre 2009 392 pagine ISBN : 1847199720 4

Link utili Sito web di jquery: è possibile scaricare l ultima versione della libreria, visualizzare la documentazione e tutorial http://jquery.com Sito web di jquery User Interface: libreria di componenti grafici di jquery http://jqueryui.com/ Sito web di Eclipse: ambiente di sviluppo open source che supporta diversi linguaggi di programmazione. http://www.eclipse.org Aptana: plugin di Eclipse per lo sviluppo di pagine web (html, css, javascript) http://www.aptana.com/downloads/start 5

Perché jquery? Motto: Scrivi Meno, Fai di più Facilita la selezione degli elementi del DOM tramite selettori CSS Semplice da imparare Cross-browser Compatibile con altre librerie Javascript 6

Operazioni Preliminari (1/2) Scaricare l ultima versione della libreria jquery http://code.jquery.com/jquery-1.5.1.min.js Importare jquery nella pagina web 7

Operazioni Preliminari (2/2) Creare uno script che al caricamento della pagina visualizzi una finestra di dialogo che mostri la versione corrente di jquery Aggiungere nell header $ Scorciatoia per la funzione jquery Funzione richiamata quando il documento è completamente caricato Stringa Versione di jquery 8

Oggetto jquery() $() Permette di selezionare e Creare elementi del DOM Può avere come parametro: Selettore CSS $("p.evidenziato") Restituisce un array di oggetti, eventualmente vuoto Oggetti javascript $(this.value) Restituisce un array di oggetti contenente l elemento passato come parametro Codice HTML $("<div>ciao Mondo</div>") Crea un elemento del DOM e restituisce un array di oggetti contenente l elemento appena creato 9

SELETTORI 10

Selettori CSS $(elemento) Permette di selezionare gli elementi HTML passati come parametro $("p") tutti i paragrafi della pagina $("a") tutti i link (e ancore) della pagina $("a,p") tutti i link e i paragrafi della pagina 11

Selettori CSS $(#idelemento) Permette di selezionare l elemento della pagina che ha l id passato come parametro $("#principale") elemento della pagina con attributo id="principale" $("div#principale") div della pagina con attributo id="principale" Essendo l id univoco all interno della pagina la selezione del div poteva essere omessa 12

Selettori CSS $(.nomeclasse) Permette di selezionare gli elementi della pagina che hanno la classe passata come parametro $(".evidenziato") elementi della pagina che hanno classe evidenziato $("div.evidenziato") tutti i div della pagina con classe evidenziato 13

Selettori CSS $(elemento[attributo]) Permette di selezionare gli elementi della pagina che hanno l attributo passato come parametro $("img[title]") tutte le immagini in cui è specificato l attributo title $("input[value]") tutti gli elementi input in cui è specificato l attributo value 14

Selettori CSS $(elemento[attributo=x]) Permette di selezionare gli elementi della pagina che hanno l attributo passato come parametro uguale al valore X $("img[title= logo ]") tutte le immagini in cui l attributo titolo è uguale a logo $("input[type= radio ]") tutti gli elementi input di tipo radio 15

Selettori CSS $(elemento[attributoˆ=x]) Permette di selezionare gli elementi della pagina che hanno l attributo passato come parametro che inizia per X $("img[title^='logo']") tutte le immagini in cui l attributo titolo inizia con logo $("a[hrefˆ= http:// ]") tutti i link con indirizzo non relativo 16

Selettori CSS $(elemento[attributo$=x]) Permette di selezionare gli elementi della pagina che hanno l attributo passato come parametro che finisce per X $("img[src$='.png']") tutte le immagini con estensione png $("a[href$='.pdf']") tutti i link a file pdf 17

Selettori CSS $(elemento[attributo*=x]) Permette di selezionare gli elementi della pagina che hanno l attributo passato come parametro che contiene la stringa X $("img[title*='logo']") tutte le immagini in cui l attributo titolo contiene la stringa logo $("a[href*='polito.it']") tutti i link che contengono nell indirizzo la stringa polito.it 18

Selettori CSS $(padre > figli) Permette di selezionare gli elementi "figli" che sono discendenti diretti dell elemento "padre" $(div > ul) tutte le liste che sono contenute direttamente in un div $(div > li) errato!!! Selezionerebbe tutti gli elementi di una lista contenuti direttamente in un div. Gli elementi di una lista devono essere contenuti in elementi ul o ol 19

Selettori CSS $(fratello+sorelle) Permette di selezionare gli elementi "sorelle" che sono direttamente preceduti da un elemento "fratello" $(".A +.B") <ul> <li class="a">e1 </li> <li class="b">e2 </li> <li class="b">e3 </li> <li class="a">e4 </li> <li class="b">e5 </li> <li class="c">e4 </li> <li class="b">e5 <ul> <li class="b"> e6 </li> </ul> </li> </ul> 20

Selettori CSS $(fratello~sorelle) Permette di selezionare gli elementi "sorelle" che sono preceduti da un elemento "fratello" $(".A ~.B") <ul> <li class="a">e1 </li> <li class="b">e2 </li> <li class="b">e3 </li> <li class="a">e4 </li> <li class="b">e5 </li> <li class="c">e4 </li> <li class="b">e5 <ul> </ul> </li> </ul> <li class="b"> e6 </li> 21

Selettori CSS $(padri:has(discendenti)) Permette di selezionare gli elementi "padri" che hanno almeno un "discendente" passato come parametro $("ul:has(a)") tutti gli ul che hanno come discendente almeno un link $("div:has(img)") tutti i div che hanno come discendente almeno un immagine 22

Selettori di Posizione $(:first) $(:last) Permettono di selezionare il primo (:first) e ultimo (:last) elemento di un insieme $("a:first") il primo link della pagina $("p.evidenziato:first") il primo paragrafo con class "evidenziato" $("img[src*=logo]:last") ultima immagine che contenga nell indirizzo la parola logo 23

Selettori di Posizione $(:first-child) $(:last-child) Permettono di selezionare il primo (:firstchild) e l ultimo (:last-child) elemento discendente $("div:first-child") il primo elemento contenuto in ogni div $("p.evidenziato:first-child") il primo elemento contenuto in ogni paragrafo con class "evidenziato" $("li:last-child") ultimo elemento contenuto in ogni li 24

Selettori di Posizione $(:even) $(:odd) Permettono di selezionare gli elementi in posizioni pari (:even) e dispari (:odd) $("table.zebra tr:even") le righe in posizione pari delle tabelle che hanno class "zebra" $("li:odd") i list item di posizione dispari Questo selettore utilizza come indice iniziale lo 0 25

Selettori di Posizione $(:nth-child(n)) $(:nth-child(even odd)) Permettono di selezionare gli elementi discendenti in posizioni uguale a n (:nth-child (n)), dispari (:nth-child(odd)) o pari (:nthchild(even)) $("tr:nth-child(4)") il quarto elemento contenuto in ogni tr $("tr:nth-chiled(even)") gli elementi in posizione pari in ogni tr $("tr:nth-chiled(odd)") gli elementi in posizione dispari in ogni tr 26

Selettori di Posizione $(:eq(n)) $(:lt(n)) $(:gt(n)) Permettono di selezionare gli elementi in posizioni uguale a n (:eq(n)), maggiore di n(:gt(n)) o minore di n(:lt(n)) $("tr:eq(4)") il quinto elemento tr $("tr:lt(4)") i primi cinque tr $("tr:gt(4)") dal sesto tr in poi Questo selettore utilizza come indice iniziale lo 0 27

Selettori Custom :button seleziona tutti i bottoni :checkbox seleziona tutte le checkbox :radio seleziona tutti i radio button :checked seleziona le check box e i radio button che sono selezionati :disabled, :enabled elementi di input disabilitati o abilitati :not(filter) negazione di un selettore $("li:not(.evidenziato)") gli elementi li che non hanno classe evidenziato :hidden elementi nascosti :visible elementi visisbili :text seleziona textbox :filter(selettore) applica un ulteriore selettore all'insieme selezionato! :contains(cerca) seleziona gli elementi che contengono il testo "cerca" 28

OPERAZIONI SU OGGETTI SELEZIONATI/CREATI 29

Operazione su gli oggetti selezionati/creati Navigazione del DOM $(selettore).children([selettore]) figli diretti dell'insieme selezionato È possibile filtrare i figli con un selettore $(selettore).find(selettore) discendenti dell'insieme selezionato $(selettore).next() elemento successivo a quello selezionato $(selettore).parent([selettore]) padre dell'elemento selezionato $(selettore).parents([selettore]) 30

Operazione su gli oggetti selezionati/creati Manipolazione del DOM Inserimento di elementi after, append, before, prepend, html, text, wrap, clone, value Cancellazione empty, remove, removeattr Modifica Stile attr, addclass, removeclass, toggleclass, css, hide, show, toggle 31

Operazione su gli oggetti selezionati/creati Esempi Manipolazione del DOM $("<li>").text("testo lista").insertafter("li:first"); //inserisce un elemento li appena creato dopo il primo li del documento $("div#principale").append("<p>dentro il div</p>"); //inserisce un paragrafo dentro il div che ha id principale $("input#email").value() //valore della input box con id email $("span").wrap("div") //crea un div che contiene tutti gli elementi span della pagina $("p.evidenziato").text("sono evidenziato"); //imposta il testo dei paragrafi di classe evidenziano con la stringa passata come parametro $("img.logo").css("border","solid orange 3px"); //cambia lo stile a tutte le immagini di classe logo 32

Operazione su gli oggetti selezionati/creati $(selettore).each() Permette di scorrere il vettore di elementi selezionati e di eseguire una funzione per ogni elemento $(img).each(function(i){ }) $(this).attr("alt","immagine "+i); 33

Operazione su gli oggetti selezionati/creati Concatenazione operazioni E' possibile concatenare più azione su uno stesso selettore grazie al fatto che molte operazioni non alterano l'insieme di oggetti restituiti dal selettore. $(.invisibile).hide().addclass("sparito") //nasconde tutti gli elementi di classe invisibile e aggiunge la classe sparito $("<img>").attr("src","img/test.jpg").addclass("logo").appendto("div#principale") //crea un immagine con attributo src="img/test.jpg", di classe logo e la appende al div con id principale 34

Operazione su gli oggetti selezionati/creati Concatenazione Avanzata.end() Alcune funzioni alterano l'insiemi di oggetti restituiti dal selettore per cui occorre prestare attenzione! 1. $(div p:first) 2..addClass("primoParagrafo") 3..find("a:first") 4..text("primo link") 5..end() 6..css("border","solid 5px"); 1. Seleziona il primo paragrafo di ogni DIV 2. Aggiunge la classe primoparagrafo 3. Seleziona il primo link del primoparagrafo di ogni div 4. Modifica il testo in "primo link" 5. Ritorna alla selezione precedente (primo paragrafo di ogni div) 6. Modifica lo stile del bordo 35

GESTIONE EVENTI 36

Eventi supportati unload blur change submit click select dblclick scroll error resize Eventi focus mouse up keydown mouse over keypress mouse up mouse move mouse down load keyup 37

Tipologia di Eventi Javascript EVENTO blur, focus focusin, focusout load resize scroll unload click, dbclick mousedown, mouseup mouseover, mouseout, mousemove keydown,keypress, keyup select change submit DESCRIZIONE Inviati ad un elemento quando rispettivamente perde il focus od ottiene il focus. Inviato ad un elemento se esso o un suo discendente rispettivamente ottiene o perde il focus Inviato ad un elemento quando esso e tutti i suo discendenti sono stati completamente caricati Inviato all'elemento windows quando la finestra del browser ha cambiato dimensioni Inviato ad un elemento quando l'utente ha effettuato lo scroll in un differente punto dell'elemento stesso Inviato all'oggetto window quando l'utente naviga fuori dalla pagina (chiusura del browser, click su un link, a volte anche il semplice refresh) Inviati ad un elemento quando il mouse è sopra di esso e viene effettuato un click o un doppio click Inviati ad un elemento quando il mouse è sopra di esso e viene rispettivamente premuto o rilasciato il bottone del mouse Eventi inviati all'elemento in cui il puntatore del mouse entre (mouseover), in cui esce (mouseout) o in cui si sta mouvendo (mousemove) Eventi inviati quando un tasto viene premuto (keydown) è stato rilasciato (keyup) o è stato premuto (keypress) Inviato ad un elemento quando viene selezionato del test all'interno di esso. Questo evento è limitato agli elementi <input type="text" /> e <textarea> Evento inviato ad un elemento che ha cambiato il proprio valore. Limitato a <select> <input> <textarea> Elemento inviato quando l'utente tenta di fare il submit di un form 38

bind $(selettore).bind(evento,[dati],function(evento){ }) Permette di collegare gli eventi ad un selettore e di eseguire la funzione associata $(":text").bind('focusin', function(){ this.addclass('inserimento'); }).bind('focusout',function(){ this.removeclass('inserimento'); }) Per ogni casella di testo aggiunge la classe inserimento quando il focus è sull'oggetto e rimuove la stessa classe quando il focus non è più dell'oggetto 39

Sintassi abbreviata eventi $(selettore).bind(evento,[dati],function(evento){ }) $(selettore).evento([dati],function(evento){ }) $("li").click(function(){$(this).hide()}) $("#mostranascosti").mouseover(function(){ }) $("li:hidden").show(); //nasconde i listitem al click su di essi //quando il mouse passa sopra l'elemento con id="mostranascondi" gli elementi li nascosti vengano visualizzati //esempio passaggio dati alle funzioni di callback degli eventi var messaggio="ciao mondo" $("li").click({msg:messaggio},function(evento){ alert(evento.data.msg)}); 40

Proprietà Oggetto evento Le funzioni di callback (richiamate al verificarsi di ogni evento) hanno come parametro un oggetto che descrive l'evento occorso. proprietà.currenttarget.data.pagex.pagey.target.timestamp.type.which Descrizione Elemento del DOM che ha rilanciato l'evento I dati opzionali passati dalla funzione bind Ascissa della posizione del mouse Ordinata della posizione del mouse Elemento del DOM in cui è stato generato l'evento Quando si è verificato un evento (millisecondi passati dal 1 gennaio 1970) Descrive la natura dell'evento Nel caso di eventi scatenati da mouse o tastiera indica (in codice) quale bottone o tasto è stato premuto. Per avere informazioni sul carattere inserito si utilizza.keycode 41

Funzioni Oggetto evento L'oggetto evento offre alcuni utili metodi Metodo.preventDefault().stopPropagation().stopImmediatePropagation() Descrizione Non fa eseguire la funzione di default legata all'evento. Es. disattivare tutti i link di una pagina: $("a").bind('click',function(evento){ evento.preventdefault(); }) Impedisce l'inoltro dell'evento ad ogni elemento padre Impedisce l'inoltro dell'evento ad ogni altro elemento del DOM 42

Lanciare eventi E' possibile tramite jquery lanciare eventi, sia standard che personalizzati Esempio $(selettore).trigger(evento, [dati]) $("a#link").trigger('click') invia un click all'ancora con id uguale a link Sintassi abbreviata Esempio $("a#link").click() $(selettore).evento([dati]) 43