2012-12-08 21 views
6

Şu anda setup sol ve sağ ok tuşlarına basarak bu kullanarak sayfalarda ileri ve geri gitmek için bir işlev ettik ileri geri göz atmak için kullanılır, ancak bir metin kutusuyla karşılaşıldığında, ok tuşları hala aktiftir.keydown sadece

Bu, metin kutusu odakta olduğunda tuş işlevi durur, ancak giriş alanına hiç birşeyin girilmesine de izin vermez.

YARDIM!

Teşekkür

+0

takip etmek çok zordur, tek bir satırda tüm kod sonrası etmeyin. – nnnnnn

cevap

8

"o da hiç bir şey izin vermez giriş alanına yazılması." Eğer olay işleyicisinden false döndüğünüzde

if ($(e.target).is('input')) { return false 

o olay için varsayılan davranışı engeller:

sorun bu parçasıdır.

return true veya yalnızca return (değeri olmayan) olarak değiştirin ve varsayılan davranışa (bu durumda, alana yazarak) izin verilir.

(Not:. Ayrıca sadece girişler, metin alanı elemanları kontrol etmek isteyebilirsiniz)

+0

müthiş teşekkür ederim. Ayrıca, sol ve sağ tuşlar için tuşa basma arasında kısa bir 200 ms gecikme eklenmesi mümkün olabilir mi? –

+0

Maalesef, 200 ms içinde birden fazla ok tuşuna basmayı önlemek istediğiniz anlamına gelmedikçe, bir gecikme eklemeyle ilgili ne demek istediğini anlamıyorum. (Ama bence bu başka bir soru olurdu ve önce bunu kendiniz uygulamanız gerekir.) – nnnnnn

+0

Bir setTimeout işlevini kullanmayı denedim, sadece bunun nerede ekleneceğini bilmiyorum bu kadar. –