Skip to content

Commit 1d1b122

Browse files
Correzioni
1 parent 5ab1fa3 commit 1d1b122

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

2-ui/99-ui-misc/02-selection-range/article.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,34 @@ libs:
66

77
# Selection and Range
88

9-
In questo articolo copriremo la selezione nel documento, così come la selezione nei campi di testo, come gli `<input>`.
10-
Javascript può trattare la selezione attuale, selezionare/deselezionare interamnte o parzialmente, rimuovere la parte selezionata dal documento, racchiuderla in un tag e così via.
9+
In questo articolo copriremo la selezione nel documento, e la selezione nei campi di testo, come gli `<input>`.
10+
Javascript può trattare la selezione attuale, selezionare/deselezionare interamente o parzialmente, rimuovere la parte selezionata dal documento, racchiuderla in un tag e così via.
1111

1212

1313
Puoi già utilizzare gli script già pronti nel "Riepilogo". Ma otterrai molte più informazioni leggendo tutto il capitolo. Gli oggetti sottostanti `Range` e `Selection` sono facili da afferrare, e potrai quindi farne ciò che vuoi senza dover utilizzare script già pronti.
1414

1515
## Range
16-
I concetto base della selezione è [Range](https://dom.spec.whatwg.org/#ranges): banalmente, un paio di "punti di confine": inizione e fine del range.
17-
Ogni punto è rappresentato come un nodo DOM genitore con il relativo offset dal suo inizio. Se il nodo genitore è un nodo di tipo elemento, allora l'offset è il numero del figlio, per un nodo di tipo testo è invece la posiziona nel testo.
16+
I concetto base della selezione è [Range](https://dom.spec.whatwg.org/#ranges): banalmente, un paio di "punti di confine": inizio e fine del range.
17+
Ogni punto è rappresentato come un nodo DOM genitore con il relativo offset dal suo inizio. Se il nodo genitore è un nodo di tipo elemento, allora l'offset è il numero del figlio, per un nodo di tipo testo è invece la posizione nel testo.
1818

19-
Un esempio a seguire:
19+
Qui di seguito un esempio:
2020

2121
Selezioniamo qualcosa.
2222

23-
Prima, possiamo creare un range (il costruttore non ha parametri):
23+
Come prima cosa, possiamo creare un range (il costruttore non ha parametri):
2424

2525
```js
2626
let range = new Range();
2727
```
28-
Quindi possiamo impostare i confini della nostra selezione usando `range.setStart(node, offset)` e `range.setEnd(node, offset)`.
28+
Quindi possiamo impostare i limiti della nostra selezione usando `range.setStart(node, offset)` e `range.setEnd(node, offset)`.
2929

3030
Ad esempio, considera questo frammento di HTML:
3131

3232
```html
3333
<p id="p">Example: <i>italic</i> and <b>bold</b></p>
3434
```
3535

36-
Qui la sua struttura DOM, notare che qui i nodi tetuali rivestonon un ruolo importante per noi:
36+
Questa qui è la sua struttura DOM, e è possibile notare che in questo esempio i nodi testuali per noi rivestono un ruolo importante:
3737

3838
<div class="select-p-domtree"></div>
3939

@@ -94,10 +94,10 @@ Selezioniamo `"Example: <i>italic</i>"`. Questi sono i primi due figli di `<p>`
9494
</script>
9595
```
9696

97-
- `range.setStart(p, 0)` -- setta l'inizio al figlio #0 di `<p>` (questo è il nodo testuale `"Example: "`).
98-
- `range.setEnd(p, 2)` -- allarga il range fino al figlio #2 di `<p>` (escluso) (Questo è il nodo testuale `" and "`, ma essendo la fine non viene incluso, così l'ultimo nodo selezionato è `<i>`).
97+
- `range.setStart(p, 0)` -- setta l'inizio sul figlio #0 di `<p>` (questo è il nodo testuale `"Example: "`).
98+
- `range.setEnd(p, 2)` -- estende il range fino al figlio #2 di `<p>` (escluso) (Questo è il nodo testuale `" and "`, ma essendo la fine non viene incluso, così l'ultimo nodo selezionato è `<i>`).
9999

100-
Qui un testo più flessibile dove puoi provare più varianti:
100+
Qui un testo più flessibile all'nterno del quale si possono provare più varianti:
101101

102102
```html run autorun
103103
<p id="p">Example: <i>italic</i> and <b>bold</b></p>
@@ -123,15 +123,15 @@ Ad esempio, selezionando da `1` a `4` restituisce il range `<i>italic</i> and <b
123123

124124
![](range-example-p-1-3.svg)
125125

126-
Non dobbiamo usare lo stesso nodo in `setStart` e `setEnd`. Un range può spaziare attraverso un serie di nodi non necessariamente correlati. La sola cosa che importa è che il punto finale sia dopo il punto iniziale.
126+
Non dobbiamo usare lo stesso nodo in `setStart` e `setEnd`. Un range può spaziare attraverso un serie di nodi non necessariamente correlati. La sola cosa che importa è che la fine sia dopo l'inizio.
127127

128128
### Selezionare porzioni di nodi testuali
129129

130-
Selzioniamo parzialmente il test, in questa maniera:
130+
Selezioniamo parzialmente il testo, in questa maniera:
131131

132132
![](range-example-p-2-b-3.svg)
133133

134-
Possiamo fare anche questo, abbiamo solo bisogni di impostare l'inizio e la fine come offset relativo nei nodi testuali.
134+
Possiamo fare anche questo, abbiamo solo bisogno di impostare l'inizio e la fine come offset relativo nei nodi testuali.
135135

136136
Dobbiamo creare un range che:
137137
- cominci dalla posizione 2 in `<p>` primo figlio (prendendo tutto tranne le prime due lettere di "Ex<b>ample:</b> ")
@@ -153,7 +153,7 @@ Dobbiamo creare un range che:
153153
</script>
154154
```
155155

156-
L'oggetto range ha le seguenti proprietà:
156+
L'oggetto Range ha le seguenti proprietà:
157157

158158
![](range-example-p-2-b-3-range.svg)
159159

@@ -163,7 +163,7 @@ L'oggetto range ha le seguenti proprietà:
163163
- nell'esempio sopra: primo nodo testuale dentro `<b>` e `3`.
164164
- `collapsed` -- booleano, `true` se il range comincia e finisce nello stesso punto (quindi non c'è contenuto nel range),
165165
- nell'esempio sopra: `false`
166-
- `commonAncestorContainer` -- il più vicino genitore tra tutti inodi all'interno del range,
166+
- `commonAncestorContainer` -- il più vicino genitore tra tutti i nodi all'interno del range,
167167
- nell'esempio sopra: `<p>`
168168

169169
## Metodi range
@@ -172,7 +172,7 @@ Ci sono una serie di metodi comodi per manipolare i range.
172172

173173
Imposta l'inizio del range:
174174

175-
- `setStart(node, offset)` imposta l'inzio su: posiziona `offset` nel `node`
175+
- `setStart(node, offset)` imposta l'inzio su: posizione `offset` nel `node`
176176
- `setStartBefore(node)` imposta l'inizio su: destra prima di `node`
177177
- `setStartAfter(node)` imposta l'inizio su: destra dopo `node`
178178

@@ -198,7 +198,7 @@ Per manipolare il contenuto attraverso il range:
198198
- `insertNode(node)` -- inserisce `node` nel documento all'inizio del range
199199
- `surroundContents(node)` -- avvolge `node` attorno ad un contenuto range. Per questa azione, il range deve contenere i tag di apertura e chiusura per tutti gli elementi dentro di esso: non possono esserci range del tipo `<i>abc`.
200200

201-
Con questi metodi possiamo fare di base qualunque cosa con i nodi selezionati.
201+
Con questi metodi, di base, possiamo fare qualunque cosa con i nodi selezionati.
202202

203203
Ecco il test per vederli in azione:
204204

@@ -257,10 +257,10 @@ Click buttons to run methods on the selection, "resetExample" to reset it.
257257
</script>
258258
```
259259

260-
Ci sono anche metodi per confrontare o range, ma sono usati raramente. Nel caso ne avessi bisogno puoi fare riferimento a [spec](https://dom.spec.whatwg.org/#interface-range) o su [MDN manual](mdn:/api/Range).
260+
Ci sono anche metodi per confrontare i range, ma vengono usati raramente. Nel caso ne avessi bisogno puoi fare riferimento a [spec](https://dom.spec.whatwg.org/#interface-range) o su [MDN manual](mdn:/api/Range).
261261

262262

263-
## Selezione
263+
## Selection
264264

265265
`Range` è un oggetto generico per la gestione i range di selezione. Possiamo creare questi oggetti, passarli in giro -- da soli non selezionano nulla visivamente.
266266

@@ -278,7 +278,7 @@ Gli altri browser supportano al massimo 1 range. Come possiamo vedere, alcuni de
278278

279279
## Proprietà di Selection
280280

281-
In modo simile a un rangem una selezione ha un inizio, chiamato "anchor", e una fine, chiamata "focus".
281+
In modo simile a un range, una selezione ha un inizio, chiamato "anchor", e una fine, chiamata "focus".
282282

283283
Le principali proprietà di selection sono:
284284

@@ -287,16 +287,16 @@ Le principali proprietà di selection sono:
287287
- `focusNode` -- il nodo dove finisce la selezione,
288288
- `focusOffset` -- l' offset in `focusNode` dove finisce la selezione,
289289
- `isCollapsed` -- `true` se la selezione non seleziona nulla (range vuoto) o non esiste.
290-
- `rangeCount` -- conto dei range nella selezione, massimo`1` in tutti i browser eccetto Firefox.
290+
- `rangeCount` -- conto dei range nella selezione, massimo `1` per tutti i browser, eccetto Firefox.
291291

292292
````smart header="La fine della selezione può stare nel documento prima dell'inizio"
293293
Ci sono tanti modi per selezionare il contenuto, dipende dallo user agent: mouse, hotkeys, tap sullo schermo, etc.
294294
295-
Alcuni di essi, come il mouse, permette che la stessa selezione possa essere creata nelle due direzioni: "da sinistra a destra" e da "destra a sinistra".
295+
Alcuni di essi, come il mouse, permette che la selezione stessa possa essere creata nelle due direzioni: "da sinistra a destra" e da "destra a sinistra".
296296
297297
Se l'inizio (anchor) della selezione nel documento va prima della fine (focus), si dice che questa selezione ha una direzione "forward" (in avanti)
298298
299-
Ad esempio se l'utente comincia la selezione con il mouse andando da "Example" to "italic":
299+
Ad esempio, se l'utente comincia la selezione con il mouse andando da "Example" to "italic":
300300
301301
![](selection-direction-forward.svg)
302302
@@ -309,16 +309,16 @@ Questo è diverso dagli oggetti `Range` i quali sono sempre direzionati in avant
309309

310310
## Eventi di Selection
311311

312-
Ci sono eventi nei quali tenere traccia della selezione:
312+
Ci sono eventi nei quali si può tenere traccia della selezione:
313313

314314
- `elem.onselectstart` -- quando una selezione comincia su `elem`, per esempio, l'utente comincia a muovere il mouse tenendo il pulsante premuto.
315315
- Il prevent dell'azione di default, fa in modo che la selezione non cominci.
316316
- `document.onselectionchange` -- ogni volta che una selezione viene modificata.
317317
- Nota bene: questo gestore può essere impostato solo su un `document`.
318318

319-
### Demo di traccamento di Selection
319+
### Demo di tracciamento per Selection
320320

321-
Qui c'è una piccola demo chemostra i confini della selection dinamicamente come essa cambia:
321+
Ecco una piccola demo che mostra i limiti, (intesi come confini), della Selection, dinamicamente al variare di essa:
322322

323323
```html run height=80
324324
<p id="p">Select me: <i>italic</i> and <b>bold</b></p>

0 commit comments

Comments
 (0)