Trong bài này mình sẽ tìm hiểu đến một số sự kiện liên quan đến bàn phím và ta gọi đó là keyboard events. Ứng với mỗi phím sẽ có ba sự kiện đó là .keydown()
, .keypress()
và .keyup()
. Các sự kiện này thông thường sẽ áp dùng cho các thẻ của form như input
, textarea
, … Chúng ta sẽ lần lượt tìm hiểu ba sự kiện này nhé.
.keydown()
Sự kiện xảy ra khi bạn nhấn phím xuống, áp dụng cho mọi phím có trên bàn phím (kể cả bàn phím ảo). Nhấn phím xuống ở đây có nghĩa là bạn nhấn xuống thì sẽ xảy ra sự kiện, còn khi thả phím ra thì lại là sự kiện khác.
.keydown( handler )
.keydown( [eventData ], handler )
Trong đó:
- handler là hàm sẽ thực hiện khi sự kiện xảy ra
- eventData là dữ liệu được thêm vào của sự kiện
$('#age').keydown(function(){ $('#result').html("Keydown: dữ liệu nhận được là " + $(this).val()); });
Vì là sự kiện nhấn phím xuống nên giá trị nó lấy được sẽ khuyết đi giá trị của phím đang gõ.
Bài viết này được đăng tại [kiso.vn]
.keypress()
Tương tự như keydown nhưng bị giới hạn bởi nó không hoạt động trên tất cả các phím, mà nó chỉ có tác dụng với những phím có giá trị như a,b,c …. còn những phím như shift, ctrl thì không có.
.keypress( handler )
.keypress( [eventData ], handler )
Trong đó:
- handler là hàm sẽ thực hiện khi sự kiện xảy ra
- eventData là dữ liệu được thêm vào của sự kiện
var time = 0; $('#age').keypress(function(){ time++; $('#result').html("Keypress: lần thứ " + time + ". Giá trị nhận được là " + $(this).val()); });
Vì là sự kiện nhấn phím xuống nên giá trị nó lấy được sẽ khuyết đi giá trị của phím đang gõ.
.keyup()
Ngược hoàn toàn với keydown và keypress, keyup là sự kiện khi bạn nhả phím thay vì là nhấn phím xuống như hai sự kiện trên.
.keyup( handler )
.keyup( [eventData ], handler )
Trong đó:
- handler là hàm sẽ thực hiện khi sự kiện xảy ra
- eventData là dữ liệu được thêm vào của sự kiện
var time = 0; $('#age').keyup(function(){ time++; $('#result').html("Keyup lần thứ " + time + ". Giá trị nhận được là " + $(this).val()); });
Vì là sự kiện nhả phím ra nên giá trị nó lấy được sẽ chứa toàn bộ dữ liệu, kể cả phím đang nhả.
Lời kết
Qua bài này mình đã giới thiệu xong cú pháp và cách sử dụng của ba sự kiện thuộc nhóm Keyboard Event đó là keydown(), keyup() và keypress(). Mỗi sự kiện sẽ có một chút khác nhau nên bạn cần phải hiểu rõ thì mới áp dụng mới chính xác.
Bài viết liên quan
[CSF-2] Một số thiết lập CSF, LFD
Hôm nay mình sẽ thực hiện một số thiết lập trên CSF Mở file config để sửa đổi một số tính năng dưới /etc/csf/csf.conf Nội dung chính.keydown().keypress().keyup()Lời kết1. Bảo vệ khỏi tấn công DoS bằng...
[CSF-1] Tăng bảo mật Server với ConfigServer Firewall (CSF)
Nội dung chính.keydown().keypress().keyup()Lời kết1. Khái niệm CSF: CSF (ConfigServer & Firewall) là một bộ ứng dụng hoạt động trên Linux như một firewall được phát hành miễn phí để tăng tính bảo mật cho server...
Sử dụng SSH Key với Gitlab và Github
Bài viết này mình sẽ hướng dẫn các bạn tạo ssh key cho Gitlab và Github SSH là gì? Secure Socket Shell là một giao thức mạng dùng để thiết lập kết nối mạng một...
Directory traversal vulnerabilities (phần 4)
Nội dung chính.keydown().keypress().keyup()Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal (tiếp) 5. Bypass lỗ hổng khi trang web sử dụng đường dẫn đầy đủ Xét đoạn code php sau: <?php if...
Directory traversal vulnerabilities (phần 3)
Nội dung chính.keydown().keypress().keyup()Lời kếtV. Phân tích và khai thác các lỗ hổng Directory traversal 1. Lỗ hổng xảy ra khi sử dụng các hàm đọc file và tin tưởng đầu vào người dùng Xét đoạn...
Directory traversal vulnerabilities (phần 2)
Nội dung chính.keydown().keypress().keyup()Lời kếtIII. Vì sao lỗ hổng Directory traversal xuất hiện? Với mỗi ngôn ngữ lập trình khác nhau, điểm xuất hiện các lỗ hổng Directory traversal cũng khác nhau. Lỗ hổng thường xuất...