Skip to content

Commit 53f5415

Browse files
committed
article - 50%
1 parent 25b124b commit 53f5415

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

2-ui/2-events/02-bubbling-and-capturing/article.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,57 +65,57 @@ Catat perbedaan dari `this` (=`event.currentTarget`):
6565

6666
Contohnya, jika sebuah penangan (_handler_) `form.onclick`, kemudian form itu akan "menangkap" semua klik yang terjadi didalam form. Tidak peduli dimana klik itu terjadi, klik itu akan mengelembung ke `<form>` dan akan menjalankan penangan (_handler_).
6767

68-
In `form.onclick` handler:
68+
Pada penangan (_handler_) `form.onclick`:
6969

70-
- `this` (=`event.currentTarget`) is the `<form>` element, because the handler runs on it.
71-
- `event.target` is the actual element inside the form that was clicked.
70+
- `this` (=`event.currentTarget`) adalah elemen `<form>`, karena penangan (_handler_) dijalankan pada `<form>`.
71+
- `event.target` adalah elemen didalam `<form>` dimana peristiwa klik terjadi.
7272

73-
Check it out:
73+
Contohnya:
7474

7575
[codetabs height=220 src="bubble-target"]
7676

77-
It's possible that `event.target` could equal `this` -- it happens when the click is made directly on the `<form>` element.
77+
`this` dan `event.target` bisa merupakan elemen yang sama -- itu terjadi pada saat klik terjadi tepat di elemen `<form>`.
7878

79-
## Stopping bubbling
79+
## Menghentikan Menggelembung (_bubbling_)
8080

81-
A bubbling event goes from the target element straight up. Normally it goes upwards till `<html>`, and then to `document` object, and some events even reach `window`, calling all handlers on the path.
81+
Sebuah proses menggelembung berasal dari `target` elemen akan naik keatas. Biasanya proses itu akan terjadi sampai mencapai elemen `<html>`, dan kemudian ke objek `document`, dan ada beberapa peristiwa (_event_) yang bahkan bisa mencapai jendela (_`window`_), sambil menjalankan semua penangan (_handler_) yang ada di setiap elemen.
8282

83-
But any handler may decide that the event has been fully processed and stop the bubbling.
83+
Tapi salah satu penangan (_handler_) dapat menghentikan peristiwa (_event_) jika penangan (_handler_) beranggapan bahwa proses tersebut telah berhasil di proses.
8484

85-
The method for it is `event.stopPropagation()`.
85+
Metode untuk melakukan perhentian adalah `event.stpoPropagation()`.
8686

87-
For instance, here `body.onclick` doesn't work if you click on `<button>`:
87+
Contohnya, `body.onclick` tidak akan dijalankan jika kamu mengklik pada `<button>`:
8888

8989
```html run autorun height=60
90-
<body onclick="alert(`the bubbling doesn't reach here`)">
91-
<button onclick="event.stopPropagation()">Click me</button>
90+
<body onclick="alert(`Proses menggelembung tidak mencapai penangan ini`)">
91+
<button onclick="event.stopPropagation()">Klik saya</button>
9292
</body>
9393
```
9494

9595
```smart header="event.stopImmediatePropagation()"
96-
If an element has multiple event handlers on a single event, then even if one of them stops the bubbling, the other ones still execute.
96+
Jika sebuah elemen memiliki beberapa penangan (handler) untuk satu peristiwa (event), maka bahkan jika salah satu dari penangan menghentikan proses pengelembungan, penagan yang lain akan tetap di jalankan.
9797
98-
In other words, `event.stopPropagation()` stops the move upwards, but on the current element all other handlers will run.
98+
Dengan kata lain, `event.stopPropagation()` menghentinkan proses yang keatas, tapi pada elemen yang sama penangan (handler) lain akan tetap di jalankan.
9999
100-
To stop the bubbling and prevent handlers on the current element from running, there's a method `event.stopImmediatePropagation()`. After it no other handlers execute.
100+
Untuk menghentukan pengelembungan (handler) dan mencegah penangan (handler) lain yang ada pada elemen tersebut untuk dijalankan, harus menggunakan metode `event.stopImmediatePropagation()`. Setelah itu tidak akan ada penangan (handler) yang dijalankan.
101101
```
102102

103-
```warn header="Don't stop bubbling without a need!"
104-
Bubbling is convenient. Don't stop it without a real need: obvious and architecturally well thought out.
103+
```warn header="Jangan menghentikan proses mengelembung jika tidak perlu!"
104+
Proses mengelembung cukup berguna. Jangan menghentikan proses ini jika tidak ada perlu: tentu saja harus di pikir dengan baik-baik.
105105
106-
Sometimes `event.stopPropagation()` creates hidden pitfalls that later may become problems.
106+
Terkadang `event.stopPropagation()` akan menyebabkan jebakan tersembunyi yang mungkin akan menjadi masalah.
107107
108-
For instance:
108+
Contoh:
109109
110-
1. We create a nested menu. Each submenu handles clicks on its elements and calls `stopPropagation` so that the outer menu won't trigger.
111-
2. Later we decide to catch clicks on the whole window, to track users' behavior (where people click). Some analytic systems do that. Usually the code uses `document.addEventListener('click'…)` to catch all clicks.
112-
3. Our analytic won't work over the area where clicks are stopped by `stopPropagation`. Sadly, we've got a "dead zone".
110+
1. Kita membuat sebuah menu yang bersarang. Pada setiap submenu penangan (_handles_) klik pada elemen itu dan menjalankan `stopPropagation` jadi bagian luar menu tidak akan dijalankan.
111+
2. Kemudian kita memutuskan untuk menangkap klik pada keseluruhan jendela (_window_), untuk melacak kebiasaan pengguna (dimana biasa penggunana mengklik). Beberapa sistem analisa menggunakan metode ini. Biasanya code yang digunakan `document.addEventListener('click'…)` untuk menangkap semua klik.
112+
3. Analisis kita tidak akan bekerja pada area dimana kita telah menghentikan peristiwa klik dengan menggunakan `stopPropagation`. Dengan kata lain kita telah membuat daerah mati (_dead zone_).
113113
114-
There's usually no real need to prevent the bubbling. A task that seemingly requires that may be solved by other means. One of them is to use custom events, we'll cover them later. Also we can write our data into the `event` object in one handler and read it in another one, so we can pass to handlers on parents information about the processing below.
114+
Biasanya tidak ada keperluan utama yang membuat kita harus menghentikan proses mengelembung. Sebuah fungsi yang kelihatannya membutuhkan penggunaaan metode itu bisa di selesaikan dengan menggunakan cara lain. Salah satunya dengan menggunakan peristiwa khusus, kita akan membahasnya nanti. Dan juka kita dapat menulis data kedalam objek `event` pada sebuah penangan (handler) dan membacanya pada penangan (handler) lainnya, jadi kita dapat meneruskan data tentang proses yang terjadi dibawah ke penangan (handler) elemen atas.
115115
```
116116

117117

118-
## Capturing
118+
## Penangkapan (_Capturing_)
119119

120120
There's another phase of event processing called "capturing". It is rarely used in real code, but sometimes can be useful.
121121

0 commit comments

Comments
 (0)