2011-06-21 20 views
31

JQuery kullanarak "shift + tab" anahtarının eşzamanlı tuşa basma olayını yakalamak istediğim bir durum var. Aslında hepinizin bildiği gibi, sekmeyi geriye doğru hareket ettirmek için kullanılır, ancak bir senaryoda benim için herhangi bir yönde, yani ne ileri ne de geriye doğru çalışmıyordu. bu yüzden aşağıdaki gibi ileri yönde sekmeyi hareket ettirmek için bir jquery işlevini bulundu: -"shift + sekme" tuşa basma olayını yakalama

$(':input').live('keydown', function(e) {  
    var keyCode = e.keyCode || e.which;  
    if (keyCode == 9) {  
     tindex = parseInt($(this).attr("tabindex")) + 1; 
     if($(":input[tabindex='" + tindex + "']")) 
     { 
      $(":input[tabindex='" + tindex + "']").focus(); 
     } 
    } 
}); 

Şimdi de geriye yönde tah sekmesini taşımak istiyorum. Birisi bana bu nasıl başarabilirim rehber olabilir ???

+1

return false 'ekleyerek varsayılan etkinliği iptal etmeyi unutmayın; 'koduna. Günü kurtarmak için –

cevap

60

Olay tetiklendiğinde vardiya anahtarının tutulup tutulmadığını kontrol etmek için e.shiftKey10'u kullanabilirsiniz.

Eğer shift tuşu gerçekleştirildi olmadığını kontrol etmek, olay işleyicisi bir if deyimi eklerseniz, farklı işlemleri yapabilirsiniz:

if(keyCode == 9) { 
    if(e.shiftKey) { 
     //Focus previous input 
    } 
    else { 
     //Focus next input 
    } 
} 
+0

+1, !!! – a5his

İlgili konular