2011-05-03 22 views
8

Aynı #id için .keyup() ve .click()'u nasıl yapabileceğinizi merak ediyordum?jQuery KeyUp ve Click

yani esasen ben hem kullanıcı butonu çalışır veya #search düğmesini çarptığında #id doğrulamak istiyorum.

cevap

17
$('#foo').bind('click keyup', function(event) { 
    ... 

Bazı mantığı eklemek gerekecek basın enter üzerinde yi çalıştırmak Will etkinlik türü değiştikçe ama yeterli if blokları ile çalışmalıdır.

+0

Başlangıçta bunu da düşündüm, ancak OP'nin birden çok olayı bir DOM nesnesine bağlamak istediği gibi görünmüyor, bunun yerine birden çok nesnede birden fazla olayın aynı kodu çağırması gerekiyor. – justkt

+0

Ah, bu doğru görünüyor. @ Neal'ın cevabı daha uygun. – Blender

+0

Merhaba - evet çok teşekkürler. Amaç birden çok nesneyi birden çok nesneyi çağırmak mı? – Tom

3

sürü

sayesinde Eh Yapabileceğiniz:

 $(document).keydown(function(objEvent) { 
      if (objEvent.keyCode == 13) { //clicked enter 
       $('#search').click(); //do click 
      } 
     }) 

     $("#search").click(function(e){/*click fn*/}) 

,

2
$("#id").click(validate).keyup(function(event) 
{ 
    if (event.keyCode == '13') validate(); 
}); 
function validate() { ... validate $(this).val(); ... } 
2

Ben böyle bir şey için gitmek istiyorum:

function validate(element) { 
    // your validation stuff goes here 
} 

$('#id').keyup(function(event) { 
    if (event.keyCode == 13) { 
     validate(this); 
    } 
}).click(function() { 
    validate(this); 
}); 
1

yeni jQuery böylece yo şimdi böyle bir şey yapabilir preslenmiş hangi tuşa kontrol etmek olayı hangi özelliği sunmaktadır:

$(#id").on('keyup',function(e){ 
    if (e.which==13 || e.which==9) doSomething(this); //Enter or Tab key 
});