• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Hướng dẫn Sự Kiện Bàn Phím Đơn Và Phím Kép Với JQuery

Admin

Well-Known Member
Staff member
Administrator
Cũng tương tự như đối với javascript thuần jQuery thực sự đơn giản và dễ hiểu hơn rất nhiều.
Hum nay mình hướng dẫn bắt sự kiện bàn phím đơn(ấn 1 phím ) và bàn phím kép (tổ hợp phím) với jQuery.

Với cách làm bắt sự kiện trên bạn có thể làm đc rất nhiều ứng dụng trên Web của mình như: Làm phím chức năng tắt trên Web, chặn CTRL_U xem nguồn trang web chẳng hạn...v.v... tự phát triển lên nhé.
Demo: http://jsbin.com/agazan/4/

Đầu tiên chúng ta cũng cần phải biết mã ASCII của các ký tự trên bàn phím thì mới làm dc.
http://www.webonweboff.com/tips/js/event_key_codes.aspx
Bạn vào đây để Test mà ASCII của ký tự cần biết.
Ví dụ : Phím Enter là 13, ESC là 27, phím Tab là 9......
Chúng ta cũng có thể tự viết ra 1 code đơn giản như thế cho phép xuất ra ASCII như thế :D
Để sự jQuery thì hãy nhớ khai báo sử dụng thư viện nhé,chèn code này vào head rồi ta tiếp tục.
PHP:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

1/ Sự bắt sự kiện bàn phím đơn
PHP:
<script>
    $(function(){
      $('*').keyup(function(e){
          if(e.keyCode=='65'){
            alert('Bạn mới ấn phím A')
          }         
      })
    })
  </script>
Kết quả là sẽ xuất thông báo khi ta ấn chữ A trên bàn phím.

  • keyup(e): sự kiện khi người dùng ấn 1 phím rồi thả lên.e là tham số truyền vào để tương tác với sự kiện, bạn đặt tên là gì cũng đc.
  • $('*') : là ảnh hưởng sử kiện lên tất cả các đổi tượng, nghĩa là tất cả các đối tượng chịu ảnh hưởng của sự kiện keyup() ở trên kia.Hoặc ta có thể đổi lại như $(document) hay $('html) đều có tác dụng như nhau.
  • 65 : là mã ASCII của phím A

PHP:
          if(e.keyCode=='65'){
            alert('Bạn mới ấn phím A')
          }

  • nếu người dùng ấn phím có mã ASCII là 65 thì cho xuất hiện thông báo.

Vậy là quá đơn giản dễ hiểu phải không.
2/Bắt sự kiện với tổ hợp phím:Để đơn giản thì mình sẽ hướng dẫn với tổ hợp phím 2 phím thôi( Ví dụ CTRL_A)
PHP:
checkCtrl=false
    $('*').keydown(function(e){
        if(e.keyCode=='17'){
            checkCtrl=true
        }
    }).keyup(function(ev){
        if(ev.keyCode=='17'){
            checkCtrl=false
        }
    }).keydown(function(event){
        if(checkCtrl){
            if(event.keyCode=='65'){
                alert('Bạn vừa mới ấn tổ hợp CTRL_A')
                checkCtrl=false
            }
        }
    })

  • Đầu tiên mình tạo ra 1 biến checkCtrl giá trị false ban đầu: BIến này có chức năng kiểm tra rằng phím CTRL dã đc ấn chưa, nếu rồi cho ấn tiếp phím A, không thì ngược lại.
  • Với phím CRTL có ASCII là 17 và phím A có mã ASCII là 65
  • Ban đầu nếu người dùng ấn xuống(k thả lên) sự kiện keydown: Nếu là phím CTRL thì cho biến checkCtrl=true

PHP:
$('*').keydown(function(e){
        if(e.keyCode=='17'){
            checkCtrl=true
        }
    })

  • Sau đó kiểm tra nếu người dùng có thả phím CTRL lên thì cho ngay checkCtrl=false

PHP:
$('*').keyup(function(ev){
        if(ev.keyCode=='17'){
            checkCtrl=false
        }
    })
còn nếu k thả CTRL thì giá trị checkCtrl=true vẫn giữ nguyên.

  • Cuối cùng

PHP:
$('*').keydown(function(event){
        if(checkCtrl){
            if(event.keyCode=='65'){
                alert('Bạn vừa mới ấn tổ hợp phim CTRL_A')
                checkCtrl=false
            }
        }
    })
Nếu người dùng ấn tiếp phím khác(keydown) nếu mà checkCtrl==true ( nghĩa là CTRL đang bị ấn) mà lại tiếp tục ấn tiếp phím có mã ASCII là 65 thì cho xuất hiện thông báo, còn nếu CTRL đã thả lên(checkCtrl=false) thì có ấn phím mã ASCII 65 cũng k có tác dụng.
OK vậy là xong ... dễ hiểu thì Thanks cái nha.

Demo chặn CTRL_U trên Diễn Đàn của mình : svphuyen.com/forum.php
Việc phát triển thêm chức năng là tùy các bạn.. mục đích bài viết là để bạn bắt đc sự kiện bàn phím một cách đơn giản.. so với việc dùng javascript thuần.

Mình thấy có một số bạn đã từng hỏi có chặn đc tổ hợp phím CTRL_U không mà chưa có câu trả lời , và đây là câu trả lời là đc nhưng k đồng nghĩa với việc chặn đc xem nguồn nhé ;-D
Nguồn svphuyen.com
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
donbaclieu Nhận đặt tiệc buffet, tea break, finger food, cocktail, set menu cho các sự kiện công ty và gia đình Trò chuyện linh tinh 13
D Share App kiếm 100k nhanh chóng sự kiện app của nhật bản Phần mềm 1
Admin Coupon 60% nhân sự kiện giờ trái đất từ Exabytes Chia sẻ mã giảm giá 1
Admin Nokia lên lịch cho sự kiện ở MWC2014: sẽ giới thiệu smartphone chạy Android? Tin tức CNTT 0
H Share [Avatar] Thông tin về sự kiện event halloween Blogger 1
Admin Lộ diện Iconia W4 với vi xử lí Atom thế hệ Bay Trail tại một sự kiện của Intel, sẽ kế nhiệm cho W3? Tin tức CNTT 1
D Hướng dẫn dịch vụ cho thuê ô dù sự kiện,dù lớn,nhà dù,nhà bạt,thiết bị sự kiện Hosting & Domain Free 2
N dịch vụ cho thuê ô dù sự kiện,dù lớn,nhà dù,nhà bạt,thiết bị sự kiện Trò chuyện linh tinh 0
Admin Share mod link sự kiện kèm theo trên tìm kiếm google cho johncms Johncms 0
H Chiến thần online : Chuỗi sự kiện giảm giá phù văn Điện thoại di động 2
H Chiến thần online : Chuỗi sự kiện máy chủ ares Thảo luận chung 0
D khai mở máy chủ Nam Vương - Update sự kiện 30/04 - 01/05 Tin tức, sự kiện thường ngày 0
luongchungls Android Game Avatar - Chuỗi sự kiện chào mừng sinh nhật lần thứ 3 cực hottttttttt!!1 Crack, hack, mod, ghép game, ứng dụng 1
luongchungls Android Game Avatar ra mắt Sự kiện Bác Ba Phi troll cá Tháng Tư cực hot!! Crack, hack, mod, ghép game, ứng dụng 0
Y Share Sự kiện Fansign Naruto Online Trò chơi 1
C Sự kiện : Tặng miễn phí tên miền .COM .NET .INFO .BIZ .MOBI Hosting & Domain Share 9
Z Share Lieukiem.net - Cắm train là dĩ vãng - Hoạt động sự kiện vật phẩm đồng thường Trò chơi 0
H CHIẾN THẦN ONLINE – Chuỗi sự kiện máy chủ mới Poseidon Tin tức CNTT 0
H CHIẾN THẦN ONLINE – Chuỗi sự kiện Vô địch đấu trường Thảo luận chung 0
S Sự kiện thập đại anh hùng Thủ thuật ĐTDĐ 0
C V/v AVATAR Sự Kiện Noel 2012Giáng Sinh Cổ Tích Tin khoa học, sản phẩm mới 0
X Avatar sự kiện Noel năm 2012Giàng Sinh Cổ Tích Thảo luận chung 1
Admin Hướng dẫn vbcredits II tạo sự kiện charge tiền khi xem nội dung trong bài viết Vbb tutorial 0
B MU Tân Định Season 6.3 - Chào mừng Đại Sự kiện Server mới "Tân Thủ" - Đua Top Tranh Bá ra mắt 13h00 Thảo luận chung 0
S TUKIEM.COM - OPEN CHÍNH THỨC 14H NGÀY 30/11 - Phiên bản mới với đầy đủ các tính năng - sự kiện mới - Trò chơi 0
Admin Thông báo sự kiện đăng bài nhận tên miền quốc tế part 3 Thông báo mới 371
K [Share] Số lượng nông sản và xu cho sự kiện 20-10 Thủ thuật ĐTDĐ 0
K V/v AVATAR Sự kiện Nhà Giáo Việt Nam 20-11-2012(Cập nhật) J2ME 2
X V/V avatar sự kiện nhà giáo VN 20-11 Thảo luận chung 0
X Avatar - Sự Kiện 20-11 Thảo luận chung 1
S Thông báo sự kiện đăng bài nhận tên miền quốc tế part 2 Thông báo mới 276
Y Game pc [NGÔI SAO MAY MẮN] Hướng dẫn tham gia sự kiện (Có clip hướng dẫn - Update Tr.1) Trò chơi 0
K [SỰ KIỆN - NGÔI SAO MAY MẮN] Cơ hội sở hữu báu vật hoàng gia với giá 0 Đồng (Tr.1) Sách, truyện, tài liệu 0
P [SỰ KIỆN - NGÔI SAO MAY MẮN] Cơ hội sở hữu báu vật hoàng gia với giá 0 Đồng Trò chơi 0
Admin Microsoft phát thư mời sự kiện phát hành Windows 8 vào ngày 25/10 Tin tức CNTT 0
B [game mobile] Chuỗi sự kiện Hành Trình Dũng Sĩ Android, ios, java, windows phone 0
Kidblood Những sự kiện nổi bật của làng công nghệ trong tháng 9 tới Tin tức CNTT 0
B [game mobile] Chuỗi sự kiện Chiến binh quả cảm Android, ios, java, windows phone 0
B [game mobile] Chuỗi sự kiện Mùa hè sôi động Android, ios, java, windows phone 0
A HoT hot. Game chiến thần ra sự kiện mới S40 0
P [Game mobile] ChiếnThần Online – Chuỗi sự kiện Đại Hội Quần Hùng Tin tức, giới thiệu về ĐTDĐ 2
B [Game mobile] Chiến Thần Online – Chuỗi sự kiện Đại Hội Quần Hùng Android, ios, java, windows phone 1
S Sự kiện của thế kỷ: sao Kim đi qua mặt trời Tin khoa học, sản phẩm mới 0
B [Game mobile] Chuỗi sự kiện Quần Anh Hội Tụ - Chiến Thần Online Android, ios, java, windows phone 0
congtust24 6 cách giúp teen nhớ lâu các sự kiện lịch sử Góc thành viên học tập 0
S Vé sự kiện WWDC 2012 của Apple được mua hết sau 2 giờ Mạng internet 0
katy MOBIFONE SERVICE (MFS) TUYỂN DỤNG NHÂN SỰ CUỐI NĂM – THU NHẬP CỰC HẤP DẪN Thông tin các mạng di động 0
minhquang02 Wi-Fi 6 trang bị cho laptop và cách sự hiệu quả nhất Tin tức, sự kiện thường ngày 0
F “Ngày nay, điểm thưởng dễ dùng, tiện lợi, dễ kiếm hơn ngày xưa”. Điều đó có phải là sự thật? Tin khoa học, sản phẩm mới 0
T Data Visualization - Nhân sự mới của Đại hội Đảng XI Tin tức CNTT 0

Similar threads

New posts New threads New resources

Back
Top