JavaScript - Keyboard Events

Hai teman-teman, para ahli JavaScript masa depan! Hari ini, kita akan mandar moon ke dalam dunia yang menarik dari event keyboard. Sebagai guru komputer tetangga yang ramah, saya disini untuk mengorbit Anda melalui petualangan ini langkah demi langkah. Jadi, ambil minuman kesukaan Anda, duduk relaxed, dan mari kita mulai petualangan keyboard bersama!

JavaScript - Keyboard Events

Event Keyboard Umum

Sebelum kita mulai mengoding, mari kenal event keyboard paling umum di JavaScript. Picturkan event ini seperti berbagai cara komputer Anda mendengarkan keyboard Anda:

Nama Event Deskripsi
keydown Terpicu saat tombol ditekan
keypress Terpicu saat tombol ditekan (hanya tombol karakter)
keyup Terpicu saat tombol dilepaskan

Event ini seperti telinga komputer Anda, selalu mendengarkan tekanan tombol Anda. Keren, kan?

Properti Event Keyboard

Sekarang, mari bicarakan properti yang dibawa oleh event ini. Saat event keyboard terjadi, itu membawa beberapa informasi yang berguna:

Properti Deskripsi
key Nilai tombol yang ditekan
keyCode Nilai Unicode tombol yang ditekan (usang)
which Nilai Unicode tombol yang ditekan (usang)
code Tombol fisik pada keyboard

Properti ini seperti para utusan kecil, membawa detail penting tentang tombol yang Anda tekan.

Contoh: Event Keydown

Mari kita mulai dengan contoh pertama. Kita akan membuat program sederhana yang mendengarkan event 'keydown' dan menampilkan tombol yang ditekan.

<h1>Teекан tombol mana saja</h1>
<p id="output"></p>

<script>
document.addEventListener('keydown', function(event) {
document.getElementById('output').innerHTML = 'Anda menekan: ' + event.key;
});
</script>

Dalam contoh ini, kita mengatakan ke komputer, "Hai, dengarkan jika ada tombol yang ditekan, dan saat itu terjadi, tunjukkan kepada kita tombol mana yang ditekan." Metode addEventListener seperti menempatkan mata-mata untuk memantau tekanan tombol.

Contoh: Event Keypress

Sekarang, mari coba event 'keypress'. Ingat, event ini hanya bekerja untuk tombol karakter!

<h1>Ketik sesuatu</h1>
<p id="output"></p>

<script>
document.addEventListener('keypress', function(event) {
var current = document.getElementById('output').innerHTML;
document.getElementById('output').innerHTML = current + event.key;
});
</script>

Skrip ini seperti mesin ketik. Setiap kali Anda tekan tombol karakter, itu menambahkan karakter itu ke apa yang sudah ada. Itu membuat teks saat Anda mengetik!

Contoh: Event Keyup

Marilah kita pindah ke event 'keyup'. kali ini, kita akan membuat permainan kecil dimana Anda harus menekan tombol yang benar untuk menang.

<h1>Teukkan tombol 's' untuk menang!</h1>
<p id="output"></p>

<script>
document.addEventListener('keyup', function(event) {
if (event.key === 's') {
document.getElementById('output').innerHTML = 'Anda menang! ?';
} else {
document.getElementById('output').innerHTML = 'Coba lagi!';
}
});
</script>

Dalam permainan ini, kita menunggu pemain melepaskan tombol 's'. Itu seperti permainan "Simon Says", tapi dengan tombol keyboard!

Contoh: Tanpa menggunakan metode addEventListener

Sekarang, mari lihat cara yang lebih tua untuk menghandle event. Meskipun addEventListener adalah pendekatan modern, Anda mungkin akanjumpai metode ini di kode yang lebih tua:

<h1>Teukkan tombol mana saja</h1>
<p id="output"></p>

<script>
document.onkeydown = function(event) {
document.getElementById('output').innerHTML = 'Tombol ditekan: ' + event.key;
};
</script>

Metode ini secara langsung menetapkan fungsi ke properti onkeydown dokumen. Itu seperti menaruh tanda di pintu Anda yang mengatakan, "Saat seseorang mengetuk, lakukan ini."

Menggabungkan Semua

Sekarang kita telah menjelajahi event ini secara individual, mari buat contoh yang lebih kompleks yang menggunakan semua tiga event:

<h1>PenTes Event Keyboard</h1>
<p>Teukkan tombol mana saja untuk melihat event terjadi!</p>
<table id="eventTable">
<tr>
<th>Tipe Event</th>
<th>Tombol</th>
<th>Kode</th>
</tr>
</table>

<script>
function addEventToTable(eventType, event) {
var table = document.getElementById('eventTable');
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = eventType;
cell2.innerHTML = event.key;
cell3.innerHTML = event.code;
}

document.addEventListener('keydown', function(event) {
addEventToTable('keydown', event);
});

document.addEventListener('keypress', function(event) {
addEventToTable('keypress', event);
});

document.addEventListener('keyup', function(event) {
addEventToTable('keyup', event);
});
</script>

Contoh ini membuat tabel yang terisi saat Anda menekan tombol. Itu seperti catatan event keyboard, mencatat setiap event tombol yang terjadi!

Dan begitupun, teman-teman! Kita telah menjelajahi negeri event keyboard JavaScript. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba, merusak, dan memperbaiki contoh ini – itu adalah cara Anda akan benar-benar belajar.

Sebelum kita selesai, ada fakta menarik: Apakah Anda tahu bahwa susunan keyboard, dengan susunan QWERTY, awalnya dirancang untuk memperlambat pengetik? Itu diciptakan untuk mesin ketik untuk mencegah perangkat logam terjepit. Dan sekarang kita menggunakan susunan ini untuk menciptakan interaksi yang cepat seperti kilat dalam aplikasi web kita!

Tetap mengoding, tetap belajar, dan terutama, tetap bersenang-senang! Sampai jumpa lagi, ini adalah guru komputer tetangga Anda, menutup. Happy coding!

Credits: Image by storyset