You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 8-web-components/7-shadow-dom-events/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,11 +2,11 @@
2
2
3
3
La idea detrás del árbol shadow es encapsular los detalles internos de implementación de un componente.
4
4
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.
6
6
7
7
Entonces, para mantener los detalles encapsulados, el navegador *redirige* el evento.
8
8
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.**
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.
69
69
70
70
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>`.
71
71
72
72
## Propagación, event.composedPath()
73
73
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).
75
75
76
76
Así, si tenemos un elemento eslotado y un evento ocurre dentro, entonces se propaga hacia arriba a `<slot>` y más allá.
77
77
@@ -105,7 +105,7 @@ Este principio es similar a otros métodos que trabajan con el shadow DOM. El in
105
105
106
106
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.
107
107
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.
109
109
110
110
Vemos en la [especificación UI Events](https://www.w3.org/TR/uievents) que la mayoría de los eventos tienen `composed: true`:
111
111
@@ -117,7 +117,7 @@ Vemos en la [especificación UI Events](https://www.w3.org/TR/uievents) que la m
117
117
118
118
Todos los eventos de toque y puntero también tienen `composed: true`.
119
119
120
-
Aunque algunos eventos tienen `composed: false`:
120
+
Algunos eventos tienen `composed: false`:
121
121
122
122
- `mouseenter`, `mouseleave` (que no se propagan en absoluto),
0 commit comments