Bir tarayıcıda tüm klavye girişi yakalamak için bir yolu var mı?

3 Cevap php

Bir tarayıcıda tüm klavye girişi yakalamak için bir yolu var mı? JavaScript olurdu tahmin im.

Benim sorunum ikinci bir klavye gibi bilgisayar davranır bir USB Barkod Tarayıcı olması. Ben kullanıcı bu girilecek barkodlar için giriş kutusuna tıklayın zorunda istemiyorum. Ama ben de onları metin kutusunda o girişini görüntülemek değil bir eylem gerçekleştirmek tuşuna kısa keser vurmak mümkün olmak istiyorum. Ayrıca f1 olabilir - f12 tuşları bu şekilde kullanılabilir ya da kaş kendisi için ayrılmıştır?

3 Cevap

keydown çoğu tarayıcılarda (keypress kesinlikle daha fazla) en tuşları için ateş (Safari 3.0 gibi bazı, örneğin Shift gibi değiştirici tuşları bir etkinlik ateş olmaz) ve bütün olacak son tarayıcılarda tuşları. Fonksiyon tuşlarının davranışı olsa güvenmek iyi bir şey değil.

Aşağıdaki sayfa JavaScript önemli etkinlikler için mükemmel bir referans: http://unixpapa.com/js/key.html

Neredeyse tüm klavye girdisini alırsınız document nesnesi için keypress olay, işleyebilir.

Fonksiyon tuşlarının tam davranışı tarayıcıda bağlıdır.

Ben daha önce yaptım. Ben bir zamanlayıcı kullanılır. Ben giriş kutusu odağı vermek ve ilk basışı tespit edildikten sonra başka tuşlar 100 milisaniye içinde basılırsa eğer, o zaman ben formu gönderin sayacını başlatmak. Barkod tarayıcı "türleri" oldukça hızlı.

Ayrıca F-tuşları algılamak için karakter kodlarını müdahale edebilirsiniz.