From 480dc0dbbb8cf64792fbf64c4a20b4e9c5cac010 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 10:17:12 +0900 Subject: [PATCH 01/17] Translate Event: Index.md --- 2-ui/2-events/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2-ui/2-events/index.md b/2-ui/2-events/index.md index f4996083c..e33917062 100644 --- a/2-ui/2-events/index.md +++ b/2-ui/2-events/index.md @@ -1,3 +1,3 @@ -# Introduction to Events +# Pengenalan ke Peristiwa -An introduction to browser events, event properties and handling patterns. +Sebuah pengenalan ke peristiwa peramban (_browser events_), properti peristiwa (_event properties_) dan tanda-tanda penanganan (_handling patterns_). From 621b44703d5c13bc694d5aa8baa99efa53257c22 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 10:18:35 +0900 Subject: [PATCH 02/17] Translate Event: hide-other --- .../01-hide-other/solution.view/index.html | 8 ++++---- .../01-hide-other/source.view/index.html | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html b/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html index 7228a45de..ef54ee34a 100644 --- a/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html +++ b/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html @@ -7,13 +7,13 @@ - + -
Text
+
Teks
From 0e76325b1b4cdb0ca04e4f3a39b736881c3060bf Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 10:18:56 +0900 Subject: [PATCH 03/17] Translate Event: hide-other-onclick --- .../02-hide-self-onclick/solution.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md index cded5b622..dd01e7ba9 100644 --- a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md +++ b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md @@ -1,5 +1,5 @@ -Can use `this` in the handler to reference "the element itself" here: +Bisa gunakan `this` pada penangan (_handler_) untuk mereferensi "elemen itu sendiri": ```html run height=50 - + ``` From 603b184023e1cf57d0afd1a73c66e6c0f9c8f585 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 10:19:52 +0900 Subject: [PATCH 04/17] Translate Event: Browser-Event/Article.md - Mouse --- .../01-introduction-browser-events/article.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/article.md b/2-ui/2-events/01-introduction-browser-events/article.md index 19394e49e..3e82c8fdb 100644 --- a/2-ui/2-events/01-introduction-browser-events/article.md +++ b/2-ui/2-events/01-introduction-browser-events/article.md @@ -1,21 +1,22 @@ -# Introduction to browser events +# Pengenalan ke peristiwa peramban (_browser events_) -*An event* is a signal that something has happened. All DOM nodes generate such signals (but events are not limited to DOM). +*Sebuah Peristiwa* adalah penanda bahwa sesuatu telah terjadi. Semua _DOM nodes_ menghasilakan sebuah penanda (tapi peristiwa tidak hanya terbatas pada DOM). -Here's a list of the most useful DOM events, just to take a look at: +Berikut ini daftar peristiwa DOM yang paling berguna: -**Mouse events:** -- `click` -- when the mouse clicks on an element (touchscreen devices generate it on a tap). -- `contextmenu` -- when the mouse right-clicks on an element. -- `mouseover` / `mouseout` -- when the mouse cursor comes over / leaves an element. -- `mousedown` / `mouseup` -- when the mouse button is pressed / released over an element. -- `mousemove` -- when the mouse is moved. +**Peristiwa mouse (_Mouse events_):** +- `click` -- pada saat mouse mengklik sebuah elemen (perangkat layar sentuh menghasilkan peristiwa ini pada saat di tekan) +- `contextmenu` -- pada saat mouse mengklik kanan sebuah elemen. +- `mouseover` / `mouseout` -- pada saat kursor mouse menghampiri / meninggalkan sebuah elemen. +- `mousedown` / `mouseup` -- pada saat tombol mouse button di tekan / di lepaskan diatas sebuah elemen. +- `mousemove` -- pada saat mouse bergerak. -**Keyboard events:** -- `keydown` and `keyup` -- when a keyboard key is pressed and released. +**Peristiwa papan ketik (_Keyboard events_):** +- `keydown` dan `keyup` -- pada saat tombol papan ketik di tekan dan di lepaskan. -**Form element events:** -- `submit` -- when the visitor submits a `
`. +**Peristiwa Elemen form (_Form element events_):** +- `submit` -- pada saat pengunjung memasukan sebuah ``. +- `focus` -- pada saat pengunjung menekan/mengfokus pada sebuah elemen, contoh pada sebuah ``. - `focus` -- when the visitor focuses on an element, e.g. on an ``. **Document events:** From 614f891b5ac2cc250de9e12cc4cab2c6e245fe23 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 10:31:30 +0900 Subject: [PATCH 05/17] Translate Event: Browser-Event/Article.md --- .../01-introduction-browser-events/article.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/article.md b/2-ui/2-events/01-introduction-browser-events/article.md index 3e82c8fdb..1cdeddf9e 100644 --- a/2-ui/2-events/01-introduction-browser-events/article.md +++ b/2-ui/2-events/01-introduction-browser-events/article.md @@ -5,27 +5,26 @@ Berikut ini daftar peristiwa DOM yang paling berguna: **Peristiwa mouse (_Mouse events_):** -- `click` -- pada saat mouse mengklik sebuah elemen (perangkat layar sentuh menghasilkan peristiwa ini pada saat di tekan) +- `click` -- pada saat mouse mengklik sebuah elemen (perangkat layar sentuh menghasilkan peristiwa ini pada saat ditekan) - `contextmenu` -- pada saat mouse mengklik kanan sebuah elemen. - `mouseover` / `mouseout` -- pada saat kursor mouse menghampiri / meninggalkan sebuah elemen. -- `mousedown` / `mouseup` -- pada saat tombol mouse button di tekan / di lepaskan diatas sebuah elemen. +- `mousedown` / `mouseup` -- pada saat tombol mouse button ditekan / dilepaskan diatas sebuah elemen. - `mousemove` -- pada saat mouse bergerak. **Peristiwa papan ketik (_Keyboard events_):** -- `keydown` dan `keyup` -- pada saat tombol papan ketik di tekan dan di lepaskan. +- `keydown` dan `keyup` -- pada saat tombol papan ketik ditekan dan dilepaskan. **Peristiwa Elemen form (_Form element events_):** - `submit` -- pada saat pengunjung memasukan sebuah ``. - `focus` -- pada saat pengunjung menekan/mengfokus pada sebuah elemen, contoh pada sebuah ``. -- `focus` -- when the visitor focuses on an element, e.g. on an ``. -**Document events:** -- `DOMContentLoaded` -- when the HTML is loaded and processed, DOM is fully built. +**Peristiwa dokumen (_Document events_):** +- `DOMContentLoaded` -- pada saat HTML telah dimuat dan diproses, DOM telah sepenuhnya dibuat. -**CSS events:** -- `transitionend` -- when a CSS-animation finishes. +**Peristiwa CSS (_CSS events_):** +- `transitionend` -- pada saat animasi CSS selesai. -There are many other events. We'll get into more details of particular events in next chapters. +Masih banyak lagi peristiwa lain. Kita akan membahas lebih detail tentang peristiwa tertentu pada bab selanjutnya. ## Event handlers From dbf874f314ff8152a902cd99822b6febbefe584c Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 11:48:14 +0900 Subject: [PATCH 06/17] Translate Event: hide-other/task.md --- .../01-introduction-browser-events/01-hide-other/task.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md b/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md index 7cb0cb0c9..aabfe483e 100644 --- a/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md +++ b/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md @@ -2,10 +2,10 @@ importance: 5 --- -# Hide on click +# Kilk untuk menyembunyikan -Add JavaScript to the `button` to make `
` disappear when we click it. +Tambah Javascript ke `button` untuk membuat `
` hilang pada saat di klik. -The demo: +demo: [iframe border=1 src="solution" height=80] From 7412e5b79ad786edd8e2363df572d5aa30171967 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 11:50:23 +0900 Subject: [PATCH 07/17] Translate Event: hide-self-onclick/task.md --- .../02-hide-self-onclick/task.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/task.md b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/task.md index 9ee8f18e1..42c765372 100644 --- a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/task.md +++ b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/task.md @@ -2,11 +2,11 @@ importance: 5 --- -# Hide self +# Sembunyikan diri -Create a button that hides itself on click. +Buat sebuah tombol yang menyembunyikan dirinya sendiri pada saat di klik. ```online -Like this: - +Seperti ini: + ``` From d5ed7c809d483f8395540cd80f55fbda444c5f6e Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 11:51:11 +0900 Subject: [PATCH 08/17] Translate Event: typo: tekan -> klik --- .../01-hide-other/source.view/index.html | 2 +- .../02-hide-self-onclick/solution.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/01-hide-other/source.view/index.html b/2-ui/2-events/01-introduction-browser-events/01-hide-other/source.view/index.html index 169b9fe10..9536ccd62 100644 --- a/2-ui/2-events/01-introduction-browser-events/01-hide-other/source.view/index.html +++ b/2-ui/2-events/01-introduction-browser-events/01-hide-other/source.view/index.html @@ -7,7 +7,7 @@ - +
Teks
diff --git a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md index dd01e7ba9..09a18d8fd 100644 --- a/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md +++ b/2-ui/2-events/01-introduction-browser-events/02-hide-self-onclick/solution.md @@ -1,5 +1,5 @@ Bisa gunakan `this` pada penangan (_handler_) untuk mereferensi "elemen itu sendiri": ```html run height=50 - + ``` From 1002da0876d0b0a0e1b935aae5271ac2808ea3a2 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 11:54:49 +0900 Subject: [PATCH 09/17] Translate Event: typo: tekan -> klik --- .../01-hide-other/solution.view/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html b/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html index ef54ee34a..062b81e7b 100644 --- a/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html +++ b/2-ui/2-events/01-introduction-browser-events/01-hide-other/solution.view/index.html @@ -7,7 +7,7 @@ - +
Teks
From 6ca5e07537cf9c549ea7c945aaaca6668a59d093 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sat, 27 Nov 2021 12:08:46 +0900 Subject: [PATCH 10/17] Translate Event: which-handlers-run --- .../03-which-handlers-run/solution.md | 8 ++++---- .../03-which-handlers-run/task.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md index d569f0e4d..f7b1ae759 100644 --- a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md +++ b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md @@ -1,8 +1,8 @@ -The answer: `1` and `2`. +Jawabannya: `1` dan `2`. -The first handler triggers, because it's not removed by `removeEventListener`. To remove the handler we need to pass exactly the function that was assigned. And in the code a new function is passed, that looks the same, but is still another function. +Pengendali pertama dijalankan, karena tidak di hapuskan oleh `removeEventListener`. Untuk menhapuskan pengendali kita harus meneruskan secara tepat fungsi yang telah di atrus. Dan pada kode sebuah fungsi baru di teruskan, terlihat sama, tapi berbeda fungsi. -To remove a function object, we need to store a reference to it, like this: +Untuk menghapuskan objek fungsi, kita harus menyimpan refensi ke fungsi tersebut, seperti ini: ```js function handler() { @@ -13,4 +13,4 @@ button.addEventListener("click", handler); button.removeEventListener("click", handler); ``` -The handler `button.onclick` works independently and in addition to `addEventListener`. +Pengendali `button.onclick` bekerja secara sendiri dan sebagai tambahan untuk `addEvenetListener`. diff --git a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/task.md b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/task.md index f8cd75d5a..b3ec43664 100644 --- a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/task.md +++ b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/task.md @@ -2,11 +2,11 @@ importance: 5 --- -# Which handlers run? +# Pengendali mana yang dijalankan? -There's a button in the variable. There are no handlers on it. +Ada sebuah tombol pada variable. Tidak ada pengedali di tombol tersebut. -Which handlers run on click after the following code? Which alerts show up? +Manakah pengendali yang dijalankan pada saat klik pada kode berikut ini? Manakah `alert` yang akan ditunjukan? ```js no-beautify button.addEventListener("click", () => alert("1")); From f1c6aad7f9210f9ddeab4e7b21ce17c8d3a617f5 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sun, 28 Nov 2021 03:32:46 +0900 Subject: [PATCH 11/17] Translate Event: Browser-Event/Article.md - Handle --- .../01-introduction-browser-events/article.md | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/article.md b/2-ui/2-events/01-introduction-browser-events/article.md index 1cdeddf9e..d37e9c177 100644 --- a/2-ui/2-events/01-introduction-browser-events/article.md +++ b/2-ui/2-events/01-introduction-browser-events/article.md @@ -26,105 +26,105 @@ Berikut ini daftar peristiwa DOM yang paling berguna: Masih banyak lagi peristiwa lain. Kita akan membahas lebih detail tentang peristiwa tertentu pada bab selanjutnya. -## Event handlers +## Pengendali peristiwa (_Event handlers_) -To react on events we can assign a *handler* -- a function that runs in case of an event. +Untuk menanggapi sebuah perristiwa kita dapat membuat pengendali -- sebuah fungsi yang akan dijalankan pada saat peristiwa itu terjadi. -Handlers are a way to run JavaScript code in case of user actions. +Pengendali adalah sebuah cara untuk menjalankan kode Javascript pada saat pengguna melakukan sesuatu. -There are several ways to assign a handler. Let's see them, starting from the simplest one. +Ada banyak cara untuk membuat sebuah handler. Mari kita pelajari, dimulai dari yang paling sederhana. -### HTML-attribute +### Atribut HTML (_HTML-attribute_) -A handler can be set in HTML with an attribute named `on`. +Sebuah pengendali bisa di atur pada HTML dengan menggunakan atribute `on`. -For instance, to assign a `click` handler for an `input`, we can use `onclick`, like here: +Contohnya, untuk mengatur sebuah pengendali `klik` untuk `input`, kita bisa gunakan `onclick`, seperti ini: ```html run - + ``` -On mouse click, the code inside `onclick` runs. +Pada klik mouse, kode didalam `onclick` dijalankan. -Please note that inside `onclick` we use single quotes, because the attribute itself is in double quotes. If we forget that the code is inside the attribute and use double quotes inside, like this: `onclick="alert("Click!")"`, then it won't work right. +Harap di catat bahwa didalam `onclick` kita gunakan tanda kutipan tunggal (_single quotes_), karena atribute itu sendiri menggunakan tanda kutip ganda (_double quotes_). Jika lupa bahwa kode tersebut didalam atribut dan menggunakan tanda kutip ganda (_double quotes_), seperti ini: `onclick="alert("Klik!")"`, maka itu tidak akan bekerja dengan benar. -An HTML-attribute is not a convenient place to write a lot of code, so we'd better create a JavaScript function and call it there. +Sebuah atribute-HTML bukan tempat yang cocok untuk menulis banyak kode, jadi kita buat sebuah fungsi Javascript dan memanggilnya disana. -Here a click runs the function `countRabbits()`: +Sebuah kilk menjalankan sebuah fungsi `hitungKelinci()`: ```html autorun height=50 - + ``` -As we know, HTML attribute names are not case-sensitive, so `ONCLICK` works as well as `onClick` and `onCLICK`... But usually attributes are lowercased: `onclick`. +Seperti yang kita ketahui, atribut HTML tidak _case-sensitive_, jadi `ONCLICK`, `onClick` dan `onCLICK` bisa digunakan... Tapi biasanya atribut menggunakan huruf kecil: `onclick`. -### DOM property +### Properti DOM (_DOM property_) -We can assign a handler using a DOM property `on`. +Sebuah pengendali bisa di atur menggunakan properti DOM`on`. -For instance, `elem.onclick`: +Contohnya, `elem.onclick`: ```html autorun - + ``` -If the handler is assigned using an HTML-attribute then the browser reads it, creates a new function from the attribute content and writes it to the DOM property. +Jika pengendali di atur menggunakan atribut-HTML maka peramban membaca, membuat sebuah fungsi baru dari konten atribute dan menulisnya pada properti DOM. -So this way is actually the same as the previous one. +Jadi cara ini sebenarnya sama dengan yang sebelumnya. -These two code pieces work the same: +Kedua kode ini memiliki cara kerja yang sama: -1. Only HTML: +1. Hanya HTML: ```html autorun height=50 - + ``` 2. HTML + JS: ```html autorun height=50 - + ``` -In the first example, the HTML attribute is used to initialize the `button.onclick`, while in the second example -- the script, that's all the difference. +Pada contoh pertama, atribut HTML digunakan untuk menginisialisasikan `tombol.onclick`, sedangkan pada contoh kedua -- _script_, dan hanya itu perbedaanya. -**As there's only one `onclick` property, we can't assign more than one event handler.** +**Karena hanya ada satu properti `onclick`, kita tidak bisa mengatur lebih dari satu pengendali peristiwa.** -In the example below adding a handler with JavaScript overwrites the existing handler: +Pada contoh dibawah menambah sebuah pengendali menggunakan Javascript akan menimpa pengendali yang sudah ada: ```html run height=50 autorun - + ``` -To remove a handler -- assign `elem.onclick = null`. +Untuk menghapus sebuah pengendali -- atur `elem.onclick = null` ## Accessing the element: this From 83a7bf571738c0cefb816247c5d19b325c908eb3 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sun, 28 Nov 2021 03:33:58 +0900 Subject: [PATCH 12/17] Translate Event: perbaiki typo --- .../01-introduction-browser-events/01-hide-other/task.md | 2 +- .../03-which-handlers-run/solution.md | 2 +- 2-ui/2-events/01-introduction-browser-events/article.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md b/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md index aabfe483e..7d7910d1b 100644 --- a/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md +++ b/2-ui/2-events/01-introduction-browser-events/01-hide-other/task.md @@ -2,7 +2,7 @@ importance: 5 --- -# Kilk untuk menyembunyikan +# Klik untuk menyembunyikan Tambah Javascript ke `button` untuk membuat `
` hilang pada saat di klik. diff --git a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md index f7b1ae759..6d1d795c6 100644 --- a/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md +++ b/2-ui/2-events/01-introduction-browser-events/03-which-handlers-run/solution.md @@ -1,6 +1,6 @@ Jawabannya: `1` dan `2`. -Pengendali pertama dijalankan, karena tidak di hapuskan oleh `removeEventListener`. Untuk menhapuskan pengendali kita harus meneruskan secara tepat fungsi yang telah di atrus. Dan pada kode sebuah fungsi baru di teruskan, terlihat sama, tapi berbeda fungsi. +Pengendali pertama dijalankan, karena tidak di hapuskan oleh `removeEventListener`. Untuk menghapuskan pengendali kita harus meneruskan secara tepat fungsi yang telah di atur. Dan pada kode sebuah fungsi baru di teruskan, terlihat sama, tapi berbeda fungsi. Untuk menghapuskan objek fungsi, kita harus menyimpan refensi ke fungsi tersebut, seperti ini: diff --git a/2-ui/2-events/01-introduction-browser-events/article.md b/2-ui/2-events/01-introduction-browser-events/article.md index d37e9c177..b62199a2f 100644 --- a/2-ui/2-events/01-introduction-browser-events/article.md +++ b/2-ui/2-events/01-introduction-browser-events/article.md @@ -1,6 +1,6 @@ # Pengenalan ke peristiwa peramban (_browser events_) -*Sebuah Peristiwa* adalah penanda bahwa sesuatu telah terjadi. Semua _DOM nodes_ menghasilakan sebuah penanda (tapi peristiwa tidak hanya terbatas pada DOM). +*Sebuah Peristiwa* adalah penanda bahwa sesuatu telah terjadi. Semua _DOM nodes_ menghasilkan sebuah penanda (tapi peristiwa tidak hanya terbatas pada DOM). Berikut ini daftar peristiwa DOM yang paling berguna: From e05962040e9a31d0a4e4cc37e81ad988f5764c77 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:42:04 +0900 Subject: [PATCH 13/17] Translate Event: Browser-Event/Article.md - 50% --- .../01-introduction-browser-events/article.md | 107 +++++++++--------- 1 file changed, 52 insertions(+), 55 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/article.md b/2-ui/2-events/01-introduction-browser-events/article.md index b62199a2f..3e7e7aa1d 100644 --- a/2-ui/2-events/01-introduction-browser-events/article.md +++ b/2-ui/2-events/01-introduction-browser-events/article.md @@ -126,131 +126,128 @@ Pada contoh dibawah menambah sebuah pengendali menggunakan Javascript akan menim Untuk menghapus sebuah pengendali -- atur `elem.onclick = null` -## Accessing the element: this +## Mengakses elemen: this -The value of `this` inside a handler is the element. The one which has the handler on it. +nilai dari `this` didalam pengendali adalah elemen tersebut. Elemen yang dimana pengendali itu berada. -In the code below `button` shows its contents using `this.innerHTML`: +Pada kode dibawah `button` menampilkan kontennya dengan menggunakan `this.innerHTML`: ```html height=50 autorun - + ``` -## Possible mistakes +## Kemungkinan kesalahan -If you're starting to work with events -- please note some subtleties. +Jika kamu mulai bekerja dengan menggunakan peristiwa -- harap perhatikan beberapa detail. -We can set an existing function as a handler: +Kita bisa mengatur sebuah fungsi yang telah ada sebagai pengendali: ```js -function sayThanks() { - alert('Thanks!'); +function ucapkanTerimaKasih() { + alert('Terima Kasih!'); } -elem.onclick = sayThanks; +elem.onclick = ucapkanTerimaKasih; ``` - -But be careful: the function should be assigned as `sayThanks`, not `sayThanks()`. +Tetapi berhati-hatilah: fungsi harus di atur sebagai `ucapkanTerimaKasih`, bukan `ucapkanTerimaKasih()`. ```js -// right -button.onclick = sayThanks; +// benar +button.onclick = ucapkanTerimaKasih; -// wrong -button.onclick = sayThanks(); +// salah +button.onclick = ucapkanTerimaKasih(); ``` +Jika kita tambahkan tanda kurung, maka `ucapkanTerimaKasih()` menjadi proses pemanggilan fungsi. Jadi baris terakhir akan mengambil *hasil* dari pengeksekusian fungsi, yang merupakan `tidak terdefinisi` (_`undefined`_ — karena fungsi tidak mengembalikan apapun), dan mengatur nilai itu ke peristiwa `onclick`. Maka peristiwa tersebut tidak akan menjalankan apapun. -If we add parentheses, then `sayThanks()` becomes is a function call. So the last line actually takes the *result* of the function execution, that is `undefined` (as the function returns nothing), and assigns it to `onclick`. That doesn't work. - -...On the other hand, in the markup we do need the parentheses: +...Namun, jika kita menambahkan secara langsung ke HTML, maka kita harus menambahkan tanda kurung: ```html - + ``` -The difference is easy to explain. When the browser reads the attribute, it creates a handler function with body from the attribute content. +Perbedaannya mudah untuk di jelaskan. Pada saat peramban membaca atribute, peramban akan membuat fungsi pengendali yang didalamnya terdapat konten dari atribut tersebut. -So the markup generates this property: +Jadi HTML akan menghasilkan properti ini: ```js button.onclick = function() { *!* - sayThanks(); // <-- the attribute content goes here + ucapkanTerimaKasih(); // <-- konten dari atribut akan ditambahkan kesini */!* }; ``` -**Don't use `setAttribute` for handlers.** +**Jangan gunakna `setAttribute` untuk membuat pengendali.** -Such a call won't work: +Penggunaan tersebut tidak akan berjalan: ```js run no-beautify -// a click on will generate errors, -// because attributes are always strings, function becomes a string +// sebuah klik pada akan menghasilakn eror +// karena atribute akan selalu menjadi teks (string), dimana fungsi akan menjadi teks (string) document.body.setAttribute('onclick', function() { alert(1) }); ``` -**DOM-property case matters.** +**Properti DOM mementingkan kesamaan huruf.** -Assign a handler to `elem.onclick`, not `elem.ONCLICK`, because DOM properties are case-sensitive. +Atur sebuah pengendali ke `elem.onclick`, bukan `elem.ONCLICK`, karena properti DOM mementingkan kesamaan huruf (_case-sensitive_). -## addEventListener +## tambahkanPendengarPeristiwa (_addEventListener_) -The fundamental problem of the aforementioned ways to assign handlers -- we can't assign multiple handlers to one event. +Salah satu masalah mendasar pada cara mengatur pengedali sebelumnya -- kita tidak bisa mengatur beberapa pengendali pada sebuah peristiwa. -Let's say, one part of our code wants to highlight a button on click, and another one wants to show a message on the same click. +Mari kata, sebuah bagian pada koded kita ingin menyoroti sebuah tombol pada saat diklik, dan satu lagi ingin menunjukan seubah pesan pada proses pengklikan tersebut. -We'd like to assign two event handlers for that. But a new DOM property will overwrite the existing one: +Kita ingin mengatur dua pengendali peristiwa untuk hal tersebut. Tapi properti DOM yang baru akan menimpa properti DOM yang telah ada. ```js no-beautify input.onclick = function() { alert(1); } // ... -input.onclick = function() { alert(2); } // replaces the previous handler +input.onclick = function() { alert(2); } // menganti pengedali yang lama ``` +Pengembang dari standar situs web paham sejak lama, dan menyarankan cara alternatif untuk mengelola pengendali menggunakan metode khusus `addEventListener` dan `removeEventListener`. Kedua hal tersebut tidak memiliki permasalahan seperti itu. -Developers of web standards understood that long ago and suggested an alternative way of managing handlers using special methods `addEventListener` and `removeEventListener`. They are free of such a problem. - -The syntax to add a handler: +Sintaks (_syntax_) untuk menambahkan sebuah pengendali: ```js element.addEventListener(event, handler, [options]); ``` -`event` -: Event name, e.g. `"click"`. +`peristiwa`/`event` +: nama Peristiwa, contoh `"click"`. -`handler` -: The handler function. +`pengendali`/`handler` +: pengendali fungsi. -`options` -: An additional optional object with properties: - - `once`: if `true`, then the listener is automatically removed after it triggers. - - `capture`: the phase where to handle the event, to be covered later in the chapter . For historical reasons, `options` can also be `false/true`, that's the same as `{capture: false/true}`. - - `passive`: if `true`, then the handler will not call `preventDefault()`, we'll explain that later in . +`pilihan`/`options` +: sebuah objek pilihan tambahan dengan properti: + - `once`: jika `true`, maka pendengar akan secara otomatis dihapus setelah terpicu. + - `capture`: fase dimana untuk menangani peristiwa, akan di bahas lebih lanjut pada bab . untuk alasan sejarah, `options` bisa juga diatur `false/true`, sama halnya dengan `{capture: false/true}`. + - `passive`: jika `true`, maka pengendali tidak akan memanggil `preventDefault()`, kita akan membahas lebih lanjut pada bab . -To remove the handler, use `removeEventListener`: +Untuk menghapus pengendali, gunakan `removeEventListener`: ```js element.removeEventListener(event, handler, [options]); ``` -````warn header="Removal requires the same function" -To remove a handler we should pass exactly the same function as was assigned. +````warn header="Penghapusan membutuhkan fungsi yang sama" +Untuk menghapus sebuah pengendali kita melewatkan fungsi yang sama dengan yang kita atur. -This doesn't work: +Ini tidak akan berfungsi: ```js no-beautify -elem.addEventListener( "click" , () => alert('Thanks!')); +elem.addEventListener( "click" , () => alert('Terima Kasih!')); // .... -elem.removeEventListener( "click", () => alert('Thanks!')); +elem.removeEventListener( "click", () => alert('Terima Kasih!')); ``` -The handler won't be removed, because `removeEventListener` gets another function -- with the same code, but that doesn't matter, as it's a different function object. +Pengedali tidak akan dihapus, karena `removeEventListener` mendapat sebuah fungsi lain -- dengan kode yang sama, tetapi hal tersebut tidak penting, karena itu merupakan objek fungsi yang berbeda. -Here's the right way: +Inilah cara yang benar: ```js function handler() { - alert( 'Thanks!' ); + alert( 'Terima Kasih!' ); } input.addEventListener("click", handler); From a9f727ef275400c09d1eb31258a247ec31ae5941 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:53:26 +0900 Subject: [PATCH 14/17] Translate Event: move-ball-field/source.view --- .../04-move-ball-field/source.view/index.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/source.view/index.html b/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/source.view/index.html index 34f9c88ae..ae9943da1 100644 --- a/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/source.view/index.html +++ b/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/source.view/index.html @@ -15,9 +15,8 @@ - - Click on a field to move the ball there. -
The ball should never leave the field. + Klik pada lapangan untuk memindahkan bola kesana. +
Bola tidak boleh meninggalkan lapangan.
From 206dfa7950238767cf0fd58497a0c62ede833462 Mon Sep 17 00:00:00 2001 From: emptywork <22065214+EmptyWork@users.noreply.github.com> Date: Sun, 28 Nov 2021 20:07:33 +0900 Subject: [PATCH 15/17] Translate Event: move-ball-field/solution.view --- .../04-move-ball-field/solution.view/index.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/solution.view/index.html b/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/solution.view/index.html index 3ebe8739e..8d796ee33 100644 --- a/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/solution.view/index.html +++ b/2-ui/2-events/01-introduction-browser-events/04-move-ball-field/solution.view/index.html @@ -27,7 +27,7 @@ - Click on a field to move the ball there. + Klik pada lapangan untuk memindahkan bola kesana.
@@ -39,29 +39,29 @@ ```