Skip to content

Commit 4d9df72

Browse files
authored
Update article.md
1 parent 10523a9 commit 4d9df72

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

8-web-components/7-shadow-dom-events/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
La idea detrás del árbol shadow es encapsular los detalles internos de implementación de un componente.
44

5-
Digamos que ocurre un evento click dentro de un shadow DOM del componente `<user-card>`. Pero los scripts en el documento principal no tienen idea acerca de los interiores del shadow DOM, especialmente si el componente es de una librería de terceros.
5+
Digamos que ocurre un evento click dentro de un shadow DOM del componente `<user-card>`. Pero los scripts en el documento principal no tienen idea acerca del interior del shadow DOM, especialmente si el componente es de una librería de terceros.
66

77
Entonces, para mantener los detalles encapsulados, el navegador *redirige* el evento.
88

9-
**Los eventos que ocurren en shadow DOM tienen el elemento host como target, cuando son atrapados fuera del componente.**
9+
**Los eventos que ocurren en shadow DOM, cuando son atrapados fuera del componente, tienen el elemento host como target.**
1010

1111
Un ejemplo simple:
1212

@@ -65,13 +65,13 @@ userCard.onclick = e => alert(`Outer target: ${e.target.tagName}`);
6565
</script>
6666
```
6767

68-
Si un clic ocurre en `"John Smith"`, el target es `<span slot="username">` para ambos manejadores, el interno y el externo. Es un elemento del light DOM, entonces no hay redirección.
68+
Si un clic ocurre en `"John Smith"`, el target es `<span slot="username">` para ambos manejadores: el interno y el externo. Es un elemento del light DOM, entonces no hay redirección.
6969

7070
Por otro lado, si el clic ocurre en un elemento originalmente del shadow DOM, ej. en `<b>Name</b>`, entonces, como se propaga hacia fuera del shadow DOM, su `event.target` se reestablece a `<user-card>`.
7171

7272
## Propagación, event.composedPath()
7373

74-
Para el propósito de propagación de eventos, es usado un "flattened DOM" (aplanado).
74+
Para el propósito de propagación de eventos, es usado un "flattened DOM" (DOM aplanado, fusión de light y shadow).
7575

7676
Así, si tenemos un elemento eslotado y un evento ocurre dentro, entonces se propaga hacia arriba a `<slot>` y más allá.
7777

@@ -105,7 +105,7 @@ Este principio es similar a otros métodos que trabajan con el shadow DOM. El in
105105
106106
La mayoría de los eventos se propagan exitosamente a través de los límites de un shadow DOM. Hay unos pocos eventos que no.
107107
108-
Esto está gobernado por la propiedad `composed` del objeto de evento. Si es `true`, el evento cruza los límites. De otro modo, solamente puede ser capturado dentro del shadow DOM.
108+
Esto está gobernado por la propiedad `composed` del objeto de evento. Si es `true`, el evento cruza los límites. Si no, solamente puede ser capturado dentro del shadow DOM.
109109
110110
Vemos en la [especificación UI Events](https://www.w3.org/TR/uievents) que la mayoría de los eventos tienen `composed: true`:
111111
@@ -117,7 +117,7 @@ Vemos en la [especificación UI Events](https://www.w3.org/TR/uievents) que la m
117117
118118
Todos los eventos de toque y puntero también tienen `composed: true`.
119119
120-
Aunque algunos eventos tienen `composed: false`:
120+
Algunos eventos tienen `composed: false`:
121121
122122
- `mouseenter`, `mouseleave` (que no se propagan en absoluto),
123123
- `load`, `unload`, `abort`, `error`,

0 commit comments

Comments
 (0)