2011-01-25 11 views
6

Kullanıcının sadece bazı karakterleri girmesini kısıtlamak için aşağıdakileri kullanıyorum. Sekmeye bastığımda, imleç bir sonraki kontrole işaret etmiyor (Mozilla'da). Ama IE'de iyi çalışıyor.Firefox'ta JavaScript'i kullanarak sekme tuşunu yakalamak

// Restricts user to enter characters other than a to z, A to Z and white space() 
// Rauf K. 06.11.2010 
$("input:text.characters_only").keypress(function(e) { 
if (!((e.which >= 65 && e.which <= 90) || (e.which >= 97 && e.which <= 122) || e.which == 32 || e.which == 8 || e.which == 9)) { 
     return false; 
    } 
}); 

cevap

8

yerine e.which ait e.keyCode çalışırken öneriyoruz. jQuery Event Keypress: Which key was pressed?

+3

Hayır, 'keyCode' yanlış bir özelliktir, çünkü jQuery, '' 'özelliğini normalleştirir. Bağlandığınız sorudaki cevapların çoğu umutsuzca sarsılmış veya yanıltıcıdır. –

+0

@Tim Down - Tüm cevapları tavsiye etmiyorum, sadece kabul edilen. –

+0

Vay. e.keyCode, Mozilla'da iyi çalışıyor :) – Rauf

5

gibi bir şey ile başlamak Belki eğer: Burada ne olursa olsun tek bir değişken içine anahtar grevi almanın iyi bir yöntem tarif bir SO link

if (e.keyCode === 9) { // TAB 
    return true; 
}