1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
|
---
title: event
slug: Web/API/Event
tags:
- DOM
- Gecko
- Reference_del_DOM_di_Gecko
- Tutte_le_categorie
translation_of: Web/API/Event
---
<p>{{ ApiRef() }}</p>
<h3 id="Introduzione" name="Introduzione">Introduzione</h3>
<p>Questo capitolo descrive il modello degli eventi del DOM Level 2 così come è implementato in <a href="it/Gecko">Gecko</a>. Viene descritta l'interfaccia <a class="external" href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event">Event</a>, così come le interfacce per la registrazione di eventi per i nodi del DOM, i gestori di eventi, i listener e diversi esempi che mostrano come le interfacce dei diversi eventi si relazionano tra loro.</p>
<p>Vi è un diagramma eccellente che spiega chiaramente le tre fasi del flusso degli eventi nella <a class="external" href="http://www.w3.org/TR/DOM-Level-3-Events/events.html#Events-flow">bozza di DOM Level 3</a>.</p>
<h4 id="L.27interfaccia_Event" name="L.27interfaccia_Event">L'interfaccia <code>Event</code></h4>
<p>I gestori degli eventi possono essere assegnati a vari elementi DOM. Quando un dato evento si verifica, un oggetto evento viene creato dinamicamente e passato agli event listener che permettono di gestirlo. L'interfaccia <code>Event</code> del DOM è quindi accessibile dalla funzione che gestisce l'evento, alla quale viene passato un oggetto evento come primo e unico argomento.</p>
<p>Vi sono tre modi di assegnare un listener a un elemento. Con due di queste tecniche, l'oggetto evento viene passato implicitamente alla funzione che gestisce l'evento. Con la terza tecnica, occorre passare esplicitamente l'oggetto evento come parametro.</p>
<p>L'esempio seguente mostra come un oggetto evento viene passato a tale funzione e come può essere utilizzato all'interno della funzione.</p>
<p>Si noti che nel codice non viene passato alcun parametro "evt". L'oggetto evento viene passato automaticamente a <code>foo</code>. Tutto ciò che occorre fare è definire un parametro nel gestore di eventi che riceva l'oggetto evento.</p>
<pre>function foo(evt) {
// le funzioni per la gestione degli eventi come questa
// ricevono un riferimento implicito all'oggetto evento che gestiscono
// (in questo caso abbiamo scelto di chiamarlo "evt").
alert(evt);
}
elementoTabella.onclick = foo;
</pre>
<p>Questo esempio è molto semplice, ma mostra una caratteristica importante degli eventi nel DOM di Gecko, cioè che è possibile accedere all'oggetto evento dalla funzione gestore. Una volta che si ha un riferimento a un evento, si può accedere a tutte le proprietà e ai metodi descritti in questo capitolo.</p>
<h4 id="Gestori_degli_eventi_DOM" name="Gestori_degli_eventi_DOM">Gestori degli eventi DOM</h4>
<p>Oltre all'oggetto <code>event</code> qui descritto, il DOM di Gecko fornisce anche metodi per la registrazione dei listener sui nodi del DOM, la rimozione di questi listeners ed eliminare gli eventi dal DOM. Questi event listener sugli elementi HTML o XML sono i modi principali per accedere agli eventi. Questi tre metodi sono descritti nella lista sottostante.</p>
<p>Si può anche passare un riferimento all'oggetto evento sotto forma di un parametro definito, chiamato <code>event</code>, alla funzione che gestisce l'evento. Il funzionamento è molto simile a quello della parola chiave <code>this</code>.</p>
<pre><html>
<head>
<title>esempio sul parametro evento</title>
<script type="text/javascript">
function mostraCoordinate(evt){
alert(
"valore clientX: " + evt.clientX + "\n" +
"valore clientY: " + evt.clientY + "\n"
);
}
</script>
</head>
<body onmousedown="mostraCoordinate(event)">
<p>Per conoscere le coordinate della posizione del mouse, clicca in qualunque punto di questa pagina.</p>
</body>
</html>
</pre>
<p>Utilizzando l'oggetto <code>event</code> predefinito è possibile passare altri parametri alla funzione, come mostrato nel seguente esempio:</p>
<pre><html>
<head>
<title>esempio sul parametro evento + parametri extra</title>
<script type="text/javascript">
var par2 = 'ciao';
var par3 = 'mondo!';
function mostraCoordinate(evt, p2, p3){
alert(
"valore clientX: " + evt.clientX + "\n"
+ "valore clientY: " + evt.clientY + "\n"
+ "parametro 2: " + p2 + "\n"
+ "parametro 3: " + p3 + "\n"
);
}
</script>
</head>
<body onmousedown="mostraCoordinate(event, par2, par3)">
<p>Per conoscere le coordinate della posizione del mouse e visualizzare un saluto al mondo, clicca in qualunque punto di questa pagina.</p>
</body>
</html>
</pre>
<h3 id="Propriet.C3.A0" name="Propriet.C3.A0">Proprietà</h3>
<dl>
<dt>
<a href="it/DOM/event.altKey">event.altKey</a></dt>
<dd>
Restituisce un booleano che indica se il tasto <code><alt></code> è stato premuto durante l'evento.</dd>
<dt>
<a href="it/DOM/event.bubbles">event.bubbles</a></dt>
<dd>
Restituisce un booleano che indica se l'evento emerge dal DOM.</dd>
<dt>
<a href="it/DOM/event.button">event.button</a></dt>
<dd>
Restituisce un intero che indica quale tasto del mouse è stato premuto.</dd>
<dt>
<a href="it/DOM/event.cancelBubble">event.cancelBubble</a></dt>
<dd>
{{ Deprecated_inline() }} Restituisce un booleano che indica se l'evento è stato cancellato.</dd>
<dt>
<a href="it/DOM/event.cancelable">event.cancelable</a></dt>
<dd>
Restituisce un booleano che indica se l'evento è cancellabile.</dd>
<dt>
<a href="it/DOM/event.charCode">event.charCode</a></dt>
<dd>
Restituisce il tasto carattere che è stato premuto e che ha scatenato l'evento <a href="it/DOM/event/keypress">keypress</a>.</dd>
<dt>
<a href="it/DOM/event.clientX">event.clientX</a></dt>
<dd>
Restituisce la posizione orizzontale del puntatore del mouse.</dd>
<dt>
<a href="it/DOM/event.clientY">event.clientY</a></dt>
<dd>
Restituisce la posizione verticale del puntatore del mouse.</dd>
<dt>
<a href="it/DOM/event.ctrlKey">event.ctrlKey</a></dt>
<dd>
Restituisce un booleano che indica se il tasto <code><ctrl></code> è stato premuto durante l'evento.</dd>
<dt>
<a href="it/DOM/event.currentTarget">event.currentTarget</a></dt>
<dd>
Restituisce un riferimento all'elemento a cui appartiene l'evento.</dd>
<dt>
<a href="it/DOM/event.detail">event.detail</a></dt>
<dd>
Restituisce alcuni dettagli sull'evento.</dd>
<dt>
<a href="it/DOM/event.eventPhase">event.eventPhase</a></dt>
<dd>
Indica in quale fase si trova il flusso dell'elaborazione degli eventi.</dd>
<dt>
<a href="it/DOM/event.explicitOriginalTarget">event.explicitOriginalTarget</a></dt>
<dd>
Restituisce l'elemento dal quale ha avuto origine l'evento (solo Mozilla).</dd>
<dt>
<a href="it/DOM/event.isChar">event.isChar</a></dt>
<dd>
Restituisce un booleano che indica se l'evento è stato causato dalla pressione di un tasto carattere.</dd>
<dt>
<a href="it/DOM/event.keyCode">event.keyCode</a></dt>
<dd>
Restituisce un valore Unicode per un tasto non carattere che è stato premuto.</dd>
<dt>
<a href="it/DOM/event.layerX">event.layerX</a></dt>
<dd>
Restituisce la coordinata orizzontale relativa al layer corrente.</dd>
<dt>
<a href="it/DOM/event.layerY">event.layerY</a></dt>
<dd>
Restituisce la coordinata verticale relativa al layer corrente.</dd>
<dt>
<a href="it/DOM/event.metaKey">event.metaKey</a></dt>
<dd>
Restituisce un booleano che indica se il tasto <code>meta</code> è stato premuto durante l'evento.</dd>
<dt>
<a href="it/DOM/event.originalTarget">event.originalTarget</a></dt>
<dd>
Restituisce l'elemento dal quale ha avuto origine l'evento (solo Mozilla).</dd>
<dt>
<a href="it/DOM/event.pageX">event.pageX</a></dt>
<dd>
Restituisce la coordinata orizzontale relativa alla pagina.</dd>
<dt>
<a href="it/DOM/event.pageY">event.pageY</a></dt>
<dd>
Restituisce la coordinata verticale relativa alla pagina.</dd>
<dt>
<a href="it/DOM/event.relatedTarget">event.relatedTarget</a></dt>
<dd>
Identifica un elemento secondario legato all'evento.</dd>
<dt>
<a href="it/DOM/event.screenX">event.screenX</a></dt>
<dd>
Restituisce la posizione orizzontale relativa allo schermo.</dd>
<dt>
<a href="it/DOM/event.screenY">event.screenY</a></dt>
<dd>
Restituisce la posizione verticale relativa allo schermo.</dd>
<dt>
<a href="it/DOM/event.shiftKey">event.shiftKey</a></dt>
<dd>
Restituisce un booleano che indica se il tasto <code><shift></code> è stato premuto durante l'evento.</dd>
<dt>
<a href="it/DOM/event.target">event.target</a></dt>
<dd>
Restituisce un riferimento all'elemento al quale l'evento era legato originariamente.</dd>
<dt>
<a href="it/DOM/event.timeStamp">event.timeStamp</a></dt>
<dd>
Restituisce il timestamp nel quale l'evento è stato scatenato.</dd>
<dt>
<a href="it/DOM/event.type">event.type</a></dt>
<dd>
Restituisce il nome dell'evento (case-insensitive).</dd>
<dt>
<a href="it/DOM/event.view">event.view</a></dt>
<dd>
Identifica l'<code>AbstractView</code> dal quale l'evento è stato generato.</dd>
<dt>
<a href="it/DOM/event.which">event.which</a></dt>
<dd>
Restituisce il valore Unicode del tasto che è stato premuto, indipendentemente da quale tipo di tasto sia stato premuto.</dd>
</dl>
<h3 id="Metodi" name="Metodi">Metodi</h3>
<dl>
<dt>
<a href="it/DOM/event.initEvent">event.initEvent</a></dt>
<dd>
Inizializza il valore di un evento che è stato creato tramite l'interfaccia <code>DocumentEvent</code>.</dd>
<dt>
<a href="it/DOM/event.initKeyEvent">event.initKeyEvent</a></dt>
<dd>
Inizializza un evento legato alla tastiera (specifico di Gecko).</dd>
<dt>
<a href="it/DOM/event.initMouseEvent">event.initMouseEvent</a></dt>
<dd>
Inizializza un evento legato al mouse</dd>
<dt>
<a href="it/DOM/event.initUIEvent">event.initUIEvent</a></dt>
<dd>
Inizializza un evento legato all'interfaccia utente</dd>
<dt>
<a href="it/DOM/event.preventBubble">event.preventBubble</a></dt>
<dd>
{{ Obsolete_inline() }} Previene l'emergere di un evento. Questo metodo è deprecato in favore dello standard <a href="it/DOM/event.stopPropagation">stopPropagation</a> ed è stato rimosso in Gecko 1.9.</dd>
<dt>
<a href="it/DOM/event.preventCapture">event.preventCapture</a></dt>
<dd>
{{ Obsolete_inline() }} Questo metodo è deprecato in favore dello standard <a href="it/DOM/event.stopPropagation">stopPropagation</a> ed è stato rimosso in Gecko 1.9.</dd>
<dt>
<a href="it/DOM/event.preventDefault">event.preventDefault</a></dt>
<dd>
Cancella l'evento (se è cancellabile).</dd>
<dt>
<a href="it/DOM/event.stopPropagation">event.stopPropagation</a></dt>
<dd>
Arresta un'ulteriore propagazione degli eventi DOM.</dd>
</dl>
<div class="noinclude">
</div>
<p>{{ languages( { "en": "en/DOM/event", "es": "es/DOM/event", "fr": "fr/DOM/event", "pl": "pl/DOM/event" } ) }}</p>
|