img

Guida al "MODELLO OGGETTO di JavaScript"
PRIMA PARTE

OGGETTI in JavaScript

Volendo fare una disquisizione esaustiva sugli oggeti in JavaScript, si dovrebbe affrontare un discorso abbastanza complesso, non certo per l'utilità o meno degli oggetti, unanimamente ricononosciuta, ma per una molteplicità di motivi che vi risparmio, non ultimo il fatto che le stesse cose si possono fare in più modi, ma io mi limiterò a uno solo.

Gli OGGETTI su cui si lavorare ricadono tutti in una di queste quattro categorie:

- definiti dall’utente;
- predefiniti in JavaScript;
- predefiniti nel Browser Object Model (BOM);
- predefiniti nel Document Object Model (DOM).

- Gli oggetti definiti dall'utente, lo dice la parola stessa e li vedremo per primi.

- Gli oggetti PREDEFINITI JavaScript fanno parte dell'implementazione del linguaggio, senza riferimento al browser, quindi sempre disponibili e servono come involucri per i tipi di dato relativi.e sono:

Number, Boolean, String, Math, Date,, RegExp, Array e function,

oltre Object, l’oggetto progenitore di tutti.

Inoltre javascript possiede alcune funzioni e metodi predefiniti, che non appartengono ad oggetti.

- Il Browser Object Model (BOM) è un insieme di oggetti ereditati dal browser in cui vengono eseguite le applicazioni JavaScript.

- Il Document Object Model (DOM) descrive gli elementi che costituiscono un documento come un insieme di nodi collegati tra loro mediante una struttura gerarchica ad albero, e fornisce una ricostruzione virtuale e un meccanismo per accedere ai singoli nodi di una pagina, leggerne il contenuto e crearne di nuovi.

10. Oggetti definiti dall'utente

Partiamo dal presupposto che dobbiamo realizzare un programma che gestisca sia l'elaborazione dei dati di un rettangolo, sia l'elaborazione di operazioni aritmetiche.

Ipotizziamo anche che siamo dei programmatori ordinati e precisi e vogliamo tener separate le variabili e le funzioni che riguardano il rettangolo da quelle che riguardano le operazioni matematiche.

JavaScript, attraverso gli OGGETTI, offre una buona soluzione, infatti gli OGGETTI consentono di organizzare le variabili e le funzioni in gruppi logici attraverso il raggrumamento di proprietà e metodi:

Le PROPRIETÀ sono variabili ACCESSIBILI SOLO attraverso l'OGGETTO in cui sono state definite.

I METODI sono funzioni ACCESSIBILI SOLO attraverso l'OGGETTO in cui sono state definite.

Richiedendo che ogni accesso alle proprietà e ai metodi passi attreverso l'oggetto che li contiene.

Ma torniamo al nostro esempio e definiamo l'oggetto rettangolo e l'oggetto operazioni, così come in JavaScript si definisce ogni altro oggetto.

 
Creazione dell'oggetto Rettangolo:

     var Rettangolo =
      {
        perimetro: function(b, a){
          p = ((2 * b)+(2 * a));
         return p
        }
      };
      var c = Rettangolo.perimetro(5, 4);
      document.write (c);

Creazione dell'oggetto Operazioni:

     var Operazioni =
      {
        aritmetiche: function(i, b, a){
          switch (i)
          {
            case 1:
            op = (b * a);
            break
            case 2:
                op = (b / a);
            break
            case 3:
                op = (b + a);
            break
            default :
                op = (b - a);
          }
        return op
        }
      };
      var c = Operazioni.aritmetiche(4, 12, 4);
      document.write (c);


nel primo caso, con i lati 5 e 4, in uscita avremo 18;
nel secondo caso avremo il risultato
in base al primo parametro che la chiamata passerà
scegliendo così l'operazione da eseguire.

Ma l'esempio serve solo a dimostrare
che una volta creati i due oggetti:
Rettangolo e Operazioni
si può accedere ai sui membri solo attraverso il 
nome del'oggetto creato:

Rettangolo.perimetro(b, a); e Operazioni.aritmetiche(i, b, a);

IMPORTANTE
Per far riferimento alle proprietà
e ad altri metodi dell'oggetto in cui sono definiti,
i metodi devono utilizzare
il nome dell'oggetto o la parola chiave this.

Va sottolineato che omettendo this,
Javascript cercherà le variabili col nome dato 
all'interno del metodo (variabili locali) 
o tra le variabili globali,
e non tra le proprietà dell'oggetto.

esempio col nome dell'Oggetto:

      var Esempio =
      {
        propA : 3,
        propB : 4,
        funzC : function(){
          p = (Esempio.propA * Esempio.propB);
          return p
        }
      };
      var c = Esempio.funzC();
      document.write (c);

esempio Con this:

      var Esempio =
      {
        propA : 3,
        propB : 4,
        funzC : function(){
        p = (this.propA * this.propB);
        return p
        }
      };
      var c = Esempio.funzC();
      document.write (c);

in uscita avremo 12.

esempio senza il nome dell'oggeto e senza this:

      var Esempio =
      {
        propA : 3,
        propB : 4,
        funzC : function(){
        p = (propA * propB);
        return p
        }
      };
      var c = Esempio.funzC();
      document.write (c);

In uscita otterrommo undefined o NaN,
perchè propA e propB non sono variabili locali
o globali al metodo funzC!
per funzionare avremmo dovuto scrivere così:

      var Esempio =
      {
        funzC : function(){
          propA = 3;
          propB = 4;        
          p = (propA * propB);
          return p
        }
      };
      var c = Esempio.funzC();
      document.write (c);
 

Ma in questo caso propA e propB non sono più
proprità dell'oggetto Esempio,
ma variabili locali del metodo funzC!

11. Oggetti Predefiniti in Javascript

Oggetto Object

METODODESCRIZIONE
escape()restituisce una stringa in cui tutti i caratteri non-alfanumerici sono tradotti
nei loro equivalenti numerici
eval() accetta una stringa e la valuta come codice JavaSscrip

ProprietàDESCRIZIONE
constructorspecifica la funzione che ne crea il prototipo
prototype permette al programmatore di aggiungere proprietà alle istanze di oggetto generico


Oggetto Number


METODO      DESCRIZIONE
toSource()restituisce la rappresentazione come stringa dell'oggetto
toString()rappresentazione come stringa di un oggetto
value0f() restituisce il valore primitivo di un oggetto come numero

Proprietà      DESCRIZIONE
number.MAX_VALUE massimo numero rappresentabile
number.MIN_VALUE minimo numero rappresentabile
NaN valore speciale: "Not a Number"
number.NEGATIVE INFINITY valore speciale: -infinito
number.POSITIVE_ INFINITYvalore speciale: +infinito
prototype permette di aggiungere proprietà all'oggetto number


Oggetto String


METODO      DESCRIZIONE
anchor() crea un'istanza del tag <a> attorno alla stringa oggetto il cui attributo name
ha il valore della stringa passata
big() converte la stringa in un'istanza del tag <big>
blink() converte la stringa in un'istanza del tag <blink>
bold() converte la stringa in un'istanza del tag <bold>
charAt() restituisce il carattere corrispondente all'indice passato
charCodeAt() restituisce il codice del carattere corrispondente all'indice passato
concat() concatena la stringa oggetto con la stringa argomento e restituisce il risultato
fixed() converte la stringa in un'istanza del tag <tt>
fontcolor() modifica l'attributo colore di un'istanza del tag <font>
fontsize() modifica l'attributo dimensione di un'istanza del tag <font>
fromCharCode()costruisce la stringa a partire dai codici ASCII dei caratteri
index0f() restituisce l'indice della prima occorrenza della stringa argomento nell'oggetto stringa
a partire dalla posizione specificata dal secondo argomento (opzionale)
italics() converte la stringa in un'istanza del tag <i>
lastIndex0f() restituisce l'indice dell'ultima occorrenza della stringa argomento nell'oggetto stringa
a partire dalla posizione specificata dal secondo argomento (opzionale)
link() crea un'istanza del tag <a> attorno alla stringa oggetto il cui attributo href ha il
valore della stringa passata
match() restituisce ('array dei match trovati sulla base dell'espressione regolare passata
come argomento
replace() effettua l'operazione "trova_e_sostituisci" usando l'espressione regolare e la stringa
da sostituire passate come argomento
search() restituisce l'indice della locazione del primo match trovato con l'espressione
regolare passata
slice() restituisce la stringa compresa tra l'indice iniziale e finale passati come argomenti
small() converte la stringa in un'istanza del tag < smal l>
split() restituisce la stringa spezzata in segmenti come definito dalla stringa passata al metodo
strike() converte la stringa in un'istanza del tag <strike>
sub() converte la stringa in un'istanza del tag <sub>
substr() restituisce la stringa che inizia alla posizione data dal primo argomento e lunga tanti
caratteri quanti specificati dal secondo argomento
substring() restituisce la stringa che inizia alla posizione data dal primo argomento e finisce
alla posizione recedente all'indice specificato dal secondo argomento
sup() converte la stringa in un'istanza del tag <sup>
toLowerCase() converte tutti i caratteri in minuscole
toSource() restituisce la rappresentazione della stringa passata
toString() restituisce i caratteri passati come tipo stringa
toUpperCase() converte tutti i caratteri in maiuscole

Proprietà      DESCRIZIONE
lenght restituisce la lunghezza della stringa
prototypepermette al programmatore di aggiungere proprietà alle istanze di oggetto string


Oggetto Math


METODO      DESCRIZIONE
abs() valore assoluto
acos() arcocoseno in radianti
asin() arcoseno in radianti
atan() arcotangente in radianti
atan2() arcotangente in radianti del quoziente degli argomenti
ceil() primo intero maggiore o uguale
cos() coseno del valore passato
exp() costante naturale e di eulero elevata all'argomento passato
floor() primo intero minore o uguale all'argomento
log() logaritmo in base naturale e del valore passato
max() il massimo dei due argomenti passati
min() il minimo dei due argomenti passati
pow() potenza del primo argomento elevato al secondo argomento
random() numero casuale tra O e 1
round() arrotondamento all'intero più vicino
sin () seno dell'argomento
sqrt() radice quadrata dell'argomento
tan() tangente del valore passato
toSource()codice sorgente di un oggetto
toString()rappresentazione come stringadiunoggetto

Proprietà      DESCRIZIONE
math.E restituisce la costante di eulero
math.LN2 restituisce il logaritmo naturale di 2
math.LN10 restituisce il logaritmo naturale di 10
math.LOG2E restituisce il logaritmo in base 2 di E.
math.LOG10I restituisce il logaritmo in base 10 di E.
math.PI restituisce il pi greco
math.SQRT1_2restituisce la radice quadrata di 0.5
math.SQRT2 restituisce la radice quadrata di 2


Oggetto Date


METODO      DESCRIZIONE
getDate() restituisce il giorno del mese (1-31)
getDay() restituisce il giorno della settimana (0-6)
getFullYear() restituisce l'anno (4 cifre)
getHours() restituisce l'ora del giorno (0-23)
getMilliseconds() restituisce i millisecondi (0-999)
getMinutes() restituisce i minuti nell'ora (0-59)
getMonth() restituisce il mese dell'anno (0-11)
getSeconds() restituisce i secondi nel minuto (0-59)
getTime() restituisce i millisecondi dal 1/1/1970
getTimeZoneOffset() restituisce i minuti di differenza tra GMT/UTC
getUTCDate() restituisce il giorno del mese secondo l'Universal Time
getUTCDay() restituisce il giorno della settimana secondo l'Universal Time
getUTCFullYear() restituisce l'anno (4 cifre) secondo l'Universal Time
getUTCHours() restituisce l'ora del giorno (0-23) secondo l'Universal Time
getUTCMilliseconds()restituisce i millisecondi (0-999) secondo l'Universal Time
getUTCMinutes() restituisce i minuti nell'ora (0-59) secondo l'Universal Time
getUTCMonth() restituisce il mese dell'anno (0-11) secondo l'Universal Time
getUTCSeconds() restituisce i secondi nel minuto (0-59) secondo l'Universal Time
getYear() restituisce gli anni trascorsi dal 1900
parse () converte la stringa rappresentante una data in millisecondi
setDate() aggiorna il giorno del mese (1-31)
setFullYear() aggiorna l'anno (4 cifre)
setHours() aggiorna l'ora del giorno (0-23)
setMilliseconds() aggiornai millisecondi
setMinutes() aggiorna i minuti nell'ora (0-59)
setMonth() aggiorna il mese dell'anno (0-11)
setSeconds() aggiorna i secondi nel minuto (0-59)
setTime() aggiorna i millisecondi trascorsi dal 1/1/1970 ore 00:00:00
setUTCDate() aggiorna il giorno del mese (1-31) secondo l'Universal Time
setUTCFullYear() aggiorna l'anno (4 cifre) secondo l'Universal Time
setUTCHours() aggiorna l'ora del giorno (0-23) secondo l'Universal Time
setUTCMilliseconds()aggiorna i millisecondi secondo l'Universal Time
setUTCMinutes() aggiorna i minuti nell'ora (0-59) secondo l'Universal Time
setUTCMonth() aggiorna il mese dell'anno (0-11) secondo l'Universal Time
setUTCSeconds() aggiorna i secondi nel minuto (0-59) secondo l'Universal Time
setYear() aggiorna il numero di anni trascorsi dal 1900
toGMTString() trasforma una data in stringa (universal format)
toLocaleString() trasforma una data in stringa (formato locale)
toSource() restituisce il source dell'oggetto date
toString() trasforma una data in stringa (formato locale)
toUTCString() trasforma una data in stringa (universal time)
UTC() converte valori separati da virgole in millisecondi UTC
value0f() restituisce l'equivalente di una data in millisecondi

Proprietà      DESCRIZIONE
prototypepermette al programmatore di aggiungere proprietà alle istanze di oggetto date


Oggetto Array


METODO      DESCRIZIONE
concat() concatena l'array oggetto con l'array argomento
join() concatena tutti gli elementi di un array in una stringa
pop () cancella l'ultimo elemento di un array
push() aggiunge un elemento alla fine di un array
reverse() rovescia l'ordine in cui gli elementi compaiono in un array
shift() cancella gli elementi in cima a un array
slice() restituisce una porzione di un array
sort() ordina gli elementi di un array
splice () inserisce e rimuove elementi da un array
toSource()converte gli elementi in una stringa con parentesi quadrate
toString()converte gli elementi di un array in una stringa
unshift() aggiunge elementi in cima a un array
value0f() restituisce una stringa di elementi separati da virgole

Proprietà      DESCRIZIONE
index per un array creato da un match di esp essioni regolari, restituisce l'indice
della locazione dove è avvenuto il match
input per un array creato da un match di espressioni regolari, restituisce
la stringa originale
length restituisce il numero di elementi in un array
prototypepermette di aggiungere nuove proprietà e metodi alle istanze di un oggetto array


Oggetto Function


METODO      DESCRIZIONE
applY() permette di applicare il metodo di un altro oggetto
call() permette di chiamare il metodo di un altro oggetto
toString()restituisce il testo che rappresenta il codice sorgente della funzione

Proprietà      DESCRIZIONE
argumentsrestituisce il riferimento a un oggetto che contiene gli argomenti passati alla funzione
caller se esiste restituisce il riferimento alla funzione invocante
lenght restituisce il numero degli argomenti passati
prototypepermette al programmatore di aggiungere proprietà alle istanze di oggetto function


Oggetto RegExp


MODELLI DI RICERCA (Espressioni regolari)

Le espressioni regolari sono MODELLI di sequenze di caratteri
che definiscono gli schemi che possono essere utilizzati per
effettuare ricerche e sostituzioni all'interno di stringhe.

Questi MODELLI servono a
ricercare e confrontare combinazioni di caratteri in una stringa.

Il modello di ricerca (L'espressione regolare)
può essere creato in due modi equivalenti:

1) var nomeEspRegolare = /modello/ [ modificatore]

2) var nomeEspRegolare = new RegExp ("modello" [, "modificatore"])

modello
è la combinazione di caratteri (o sottostringa) che si vuole cercare.

modificatore (o flag)
parametro opzionale che può assumere i seguenti valori:

g  ricerca globale per tutte le occorrenze di modello

i  ignora differenze maiuscolo/minuscolo

gi  entrambe le opzioni precedenti.

CARATTERI SPECIALI PER ESPRESSIONI REGOLARI

La sottostringa usata per modello può contenere
anche caratteri speciali che servono
per particolari direttive di ricerca.

I caratteri sono i seguenti:

CARATTERE      DESCRIZIONE
\ è il carattere backslash che viene usato come carattere di escape per dare
un particolare significato al carattere che lo segue immediatamente. Ad
esempio, n corrisponde al carattere n, ma \n corrisponde al carattere di
nuova riga. Inoltre caratteri speciali possono essere identificati
letteralmente se preceduti dal backslash; ad esempio \n corrisponde al fine
riga, ma \\n corrisponde alla sequenza di caratteri \n; + è un carattere
speciale, ma se si vuole inserire nella stringa di ricerca il carattere più
occorre scriverlo preceduto dal backslash \+
^ la corrispondenza è l'inizio del testo o della linea. Ad esempio il modello
/^S/ troverà corrispondenza in "Soltanto" ma non in " Lui Solo".
$ la corrispondenza è la fine del testo o della linea. Ad esempio il modello
/po$/ troverà corrispondenza in "pippo" ma non in "pollo".
* la corrispondenza è il carattere che precede l'asterisco, trovato zero o più
volte. Ad es . /zo*/ trova corrispondenza in "z" , in "zo", in "zoo".
+ la corrispondenza è il carattere che precede il segno più, trovato una o più
volte. Ad es . /zo*/ trova corrispondenza in "zo" e in "zoo" ma non in "z".
? la corrispondenza è il carattere che precede il punto interrogativo, trovato
zero o una volta. Ad es . /zo*/ trova corrispondenza in "z" e in "zo" ma non in "zoo".
. il punto equivale ad ogni singolo carattere, eccetto al carattere di nuova riga (\n)
(modello)la corrispondenza è sempre rispetto alla stringa modello. Ma il risultato
del confronto (la sottostringa trovata nella stringa oggetto della scansione)
viene conservato negli elementi [0] [N] dell'array che viene
creato con exec o match o nelle proprietà $1 ...$9 dell'oggetto predefinito RegExp.
| equivale ad un or, in quanto la corrispondenza viene cercata o con il testo
prima o con il testo dopo il carattere | . Ad esempio /pi|po/ troverà
corrispondenza sia in "pino" che in "tipologia".
{ n } n è un numero intero positivo. La corrispondenza si ha per una
sottostringa formata dal numero di occorrenze n del carattere
immediatamente precedente. /z{3}/ trova corrispondenza nelle prime tre z
di "zzzzz" ma non in quella di "zoo".
{ n , } n è un numero intero positivo. La corrispondenza si ha per una
sottostringa formata da un numero di occorrenze almeno n del carattere
immediatamente precedente. /z{3,}/ trova corrispondenza nelle z di
"zzzzz" ma non in "zoo" o "uzzo".
{ n , m }n ed m sono interi positivi. Il confronto è positivo per un numero di
occorrenze non inferiore ad n e non superiore ad m del carattere
immediatamente precedente. /z{2,3}/ trova corrispondenza nelle z di
"zzzzz" e in "uzzo" ma non in "zoo".
[ xyz ] i caratteri tra le parentesi quadre costituiscono un insieme di caratteri; la
corrispondenza si ha per uno dei caratteri dell'insieme. /gatt[oi]/ troverà
corrispondenza in "gatto" e "gatti" ma non in "gatta" e "gatte"
[^ xyz ] i caratteri tra le parentesi quadre costituiscono un insieme negativo di
caratteri; la corrispondenza si ha per qualunque dei caratteri non inclusi
dell'insieme. /gatt[^ae]/ troverà corrispondenza in "gatto", "gatti" e
"gattuccio", ma non in "gatta" e "gatte".
[ a-c ] i caratteri tra le parentesi quadre costituiscono i limiti inferiore e superiore
di un range costituente l'insieme di caratteri adiacenti.
[^ a-c ] i caratteri tra le parentesi quadre costituiscono i limiti inferiore e superiore
di un range costituente l'insieme negativo di caratteri adiacenti.
\b corrisponde a "fine parola". /o\b/ corrisponde alla o di "atto", ma non trova
corrispondenza in "ottanta".
\B corrisponde ad un punto di delimitazione che non è "fine parola".
/o\B/ corrisponde alla o di "ottanta", ma non trova corrispondenza in "atto".
\d corrisponde ad un carattere rappresentante un numero. Equivale a [0-9]
\D corrisponde a qualunque carattere ad eccezione di caratteri numerici.
Equivale a [^0-9].
\f carattere form feed (fine pagina).
\n carattere di nuova riga.
\r carattere ritorno carrello.
\s qualunque spazio bianco, compresi caratteri.
\S qualunque carattere eccetto spazio, tabulatore, form feed, nuovariga.
\t carattere tabulatore orizzontale.
\v carattere tabulatore verticale.
\w qualunque carattere alfanumerico compreso l'underscore. Equivale ad [A-Za-z0-9_].
\W qualunque carattere non alfanumerico. Equivale ad [^A-Za-z0-9_].
\numero numero, è un intero positivo.
Ad esempio il modello è /pipp([oi])(\s)paol\2/ e in esso vi sono
due coppie di parentesi. Il riferimento \2 opera alla ricorrenza trovata
secondo il modello memorizzato ([oi]). Per cui in complesso il confronto
sarà riuscito se verrà trovato "pippo paolo" ovvero "pippi paoli" ma non
"pippi paolo", in quanto la memorizzazione determinata dalle parentesi
avrà ad oggetto non il modello tra parentesi ma il risultato
dell'applicazione di quel modello, e, quindi, la sottostringa trovata che
corrispondeva al modello proposto. In altri termini viene memorizzata la
sottostringa trovata, non il modello di ricerca.
Attenzione se numero è superiore alle coppie di parentesi precedenti,
viene interpretato come ottale.
\xnumer esadecimale corrisponde al carattere ASCII corrispondente al valore di
numero esadecimale che è un numero di due cifre in notazione
esadecimale preceduto dal carattere x. Serve per utilizzare nelle
espressioni di ricerca anche caratteri ASCII particolari.



UTILIZZO DEI MODELLI DI RICERCA

Le regular expression create dall’utente sono affiancate da un oggetto predefinito
RegExp, statico, che appartiene al processo javascript in esecuzione, che non può
essere creato ma è sempre disponibile per l’uso.

Nelle proprietà di tale oggetto predefinito
vengono memorizzati i risultati dell’ultima ricerca.

I modelli vengono utilizzati con i metodi di regular expression:
test e exec
e con i metodi:
match, replace, search e split di String.

MODELLO      DESCRIZIONE
exec(stringa) applica la ricerca del modello definito nella regular expression alla
stringa oggetto della ricerca. Se la ricerca ha successo ritorna un
array e aggiorna le proprietà dell’oggetto Regular Expression e
dell’oggetto statico predefinito RegExp. Se la ricerca non ha
successo torna null.
test(stringa) applica la ricerca del modello definito nella regular expression alla
stringa oggetto della ricerca, tornando true o false a seconda se la
ricerca ha successo o meno.
match(regexpr) applica alla stringa referenziata la regular expression regexpr,
tornando un array con i risultati della ricerca, se questa ha avuto
successo. L’elemento zero dell’array contiene l’ultima sequenza di
caratteri corrispondente al modello. Gli elementi da 1 a
array.lenght -1, contengono le ricorrenze delle sottostringhe
corrispondenti alla parte di modello identificata tra parentesi tonde.
Se si vuole una ricerca globale o non case-sensitive occorre
formulare la regular expression regexpr fornendole i modificatori g e/o i.
replace(regexpr, sottostringa)ritorna una nuova stringa che è la risultante della stringa
referenziata con le occorrenze trovate tramite regexpr sostituite
dalla sottostringa. La stringa referenziata non subisce modifiche.
search(regexpr) applica alla stringa referenziata la regular expression regexpr,
tornando la posizione nella stringa referenziata (partendo da zero)
se ha avuto successo, oppure -1 (false).
split(separatore) ritorna un array i cui elementi sono le sottostringhe che nella stringa
referenziata sono separate l’una dall’altra dal separatore, che può
essere un carattere o stringa o una regular expression (ovviamente
da Js 1.2). Il separatore non viene riportato nelle sottostringhe.

I metodi:
exec e match sono meno veloci
dei metodi test e search.

Per cui è consigliabile usare questi ultimi se serve soltanto sapere se la stringa contiene il modello.

Se non serve accedere alle proprietà di una regular expression e non serve riutilizzarla, un metodo sintetico per ottenere un array con le occorrenze trovate è:

mioArray = /modello/ [modificatore].exec(stringa);

Gli EVENTI del Modello a Oggeti del Browser


GESTORE-EVENTO      GENERATO QUANDO
onAbort caricamento interrotto
onaf terupdate l'elemento al quale è lega-to è stato aggiornato con successo
onbef oreupdate quando l'elemento al quale è legato sta per essere aggiornato
onafterprint l'elemento al quale è legato è stato stampato
onbeforeprint l'elemento al quale è legato sta per essere stampato
onactivate l'elemento al quale è legato prende il focus, quindi diventa attivo
ondeactivate l'elemento al quale è legato perde il focus per passarlo a un altro elemento
onbeforedeactivatel'elemento al quale è legato sta per perdere il focus
onbeforecopy la selezione per esempio del testo di un dato elemento stà per essere copiata negli appunti
oncopy la selezione per esempio del testo di un dato elemento viene copiata negli appunti
onbeforepaste Il contenuto degli appunti staper essere incollato sull'elemento
onbeforecut la selezione del testo di un dato elemento sta per essere tagliata
onpaste il contenuto degli appunti viene incollato sull'elemento
oncut la selezione del testo di un dato elemento viene a essere tagliata
onbeforeeditfocus prima che un elemento prenda it focus, cioè diventi elemento attivo
onbeforeunload quando l'elemento al quale é legato sta per essere abbandonato
onblur L'elemento perde it focus di input
onbounce quando il testo di un marquee che scorre in senso alternato rimbalza per ritornare indietro
oncellchange quando l'elemento al quale e legato cambia valore
onchange quando il contenuto dell'elemento al quale é legato cambia valore
onclick l'utente fa clic con it mouse
oncontextmenu l'utente fa clic sul tasto destro del mouse per aprire il menu contestuale
oncontrolselect l'utente sta per fare una selezione di controllo dell'oggetto
ondataavailable dati trasmessi periodicamente arrivano dalla fonte (XML)
ondatasetchanged dati trasmessi cambiano (XML)
ondatasetcomplete tutti i dati sono stati trasmessi dalla fonte (XML)
onbblclick l'utente fa doppio clic
ondrag l'utente prende un oggetto per spostarlo (per esempio inserire l'evento
in una textarea, evidenziare il testo contenuto e provare a trascinarlo con il mouse)
ondragend l'utente rilascia il pulsante del mouse dopo il trascinamento
ondragenter l'utente prende un oggetto e lo trascina in un campo valido
ondragleave l'utente trascinando un oggetto esce da un campo valido o dopo aver
rilasciato il pulsante del mouse
ondragover l'utente prende un oggetto in un campo valido
ondragstart l'utente avvia la procedura per trascinare un oggetto
ondrop l'utente rilascia il pulsante del mouse dopo un'azione di drag-and-drop
onerror si verifica un'errore durante il caricamento
onerrorupdate si verifica un errore durante l'aggiornamento dei dati
onfilterchange quando un filtro cambia stato o ha completato la sua transizione
onfinish termina il ciclo di un marquee
onstart inizia ogni ciclo di un mar quee
onFocus all'elemento viene assegnato il focus di input
onhelp viene premuto il tasto F1 della tastiera
onKeyDown l'utente preme un tasto
onKeyPress l'utente preme un tasto
onKeyUp l'utente rilascia un tasto
onlayoutcomplete il processo di riempimento del layout stampa o di anteprima di stampa é terminato
onLoad termina il caricamento del documento o immagine
onlosecapture l'utente fa clic con il mouse sull'elemento che precedentemente e stato
caricato con il metodo setCapture() - releaseCapture(), cioé quando l'oggetto viene "rilasciato"
onMouseDown l'utente preme il tasto del mouse
onmouseenter il mouse viene posizionato sopra un oggetto, a differenza di onmouseover,
onmouseenter non é di tipo "bubbles", quindi non interviene se si
muove il mouse sopra gli elementi che contengono l'oggetto,
ma solo sull'oggetto.
onmouseleave il mouse esce da un oggetto, a differenza di onmouseout, onmouseleave non di tipo "bubbles",
quindi non interviene se si muove il mouse fuori dagli
elementi che contengono l'oggetto, ma solo sull'oggetto.
onMouseOut il mouse viene spostato dall'elemento
onMouseOver il mouse si porta sopra l'elemento
onMouseUp l'utente rilascia il pulsante del mouse
onpropertychange cambiano le proprieta di un oggetto
onreadystatechangelo stato dell'oggetto cambiato
onReset l'utente chiede di reimpostare il modulo
onResize la finestra viene ridimensionata
onresizeend le dimensioni dell'oggetto a cui a applicato l'evento sono cambiate
onresizestart l'utente inizia a variare la dimensione dell'oggetto
onrowenter la "fila" dei nuovi dati é disponibile sull'oggetto
onrowexit appena prima che la "fila" dei nuovi dati e sostituita sull'oggetto
onrowsdelete la "fila" dei dati e cancellata
onrowsinserted appena prima che la "fila" dei nuovi dati e inserita
onscroll quando si scrolla l'oggetto
onselectionchange lo stato di selezione del documento cambia
onselectstart l'oggetto sta per essere selezionato
onstop l'utente fa clic sul pulsante; termina o si chiude o ricarica la pagina,
a differenza di on beforeunload e onunload , entra in
azione subito dopo il primo ma prima del secondo.
onSubmit l'utente invia i dati
onunLoad il documento viene scaricato