2010-08-11 38 views
39

Giriş girişini algılamak için jQuery'yi almaya çalışın, ancak boşluk ve diğer tuşlar algılandıysa, girme işlemi yapılamaz. Yanlış aşağıda ne var:jQuery - tuş/tuşa basma/tuşlama ENTERKEY algılama?

$("#entersomething").keyup(function(e) { 
    alert("up"); 
    var code = (e.keyCode ? e.keyCode : e.which); 
    if (code==13) { 
     e.preventDefault(); 
    } 

    if (code == 32 || code == 13 || code == 188 || code == 186) { 
     $("#displaysomething").html($(this).val()); 
}); 

<input id="entersomething" /> 
<div id="displaysomething"&gt;&lt;/div&gt; 

http://jsfiddle.net/zeRrv/

cevap

70

JavaScript/jQuery

$("#entersomething").keyup(function(e){ 
    var code = e.which; // recommended to use e.which, it's normalized across browsers 
    if(code==13)e.preventDefault(); 
    if(code==32||code==13||code==188||code==186){ 
     $("#displaysomething").html($(this).val()); 
    } // missing closing if brace 
}); 

HTML

<input id="entersomething" type="text" /> <!-- put a type attribute in --> 
<div id="displaysomething"></div> 
+0

doh !! btw, diş tellerini kontrol edebileceğiniz bir IDE var mı? aptana kullanarak çalıştı, ama zorluk ona adapte ve in-ide önizleme için bir kısayolu yok! – ina

+4

Notepad ++ FTW :) -http: //notepad-plus-plus.org/ –

+0

Eğer OSX üzerindeyseniz, Textmate benim için ellerimi kazanır. Zend Studio ve Aptana güzel ve istediğiniz gibi yapmak için kısayollar/kısayol tuşlarını elle ekleyebileceğinizden eminim ??? 'event.which' hakkında ilginç, daha önce hiç bilmiyordum: https://developer.mozilla.org/en/DOM/event.charCode#Notes – balupton

3

Sana keyUp olayı ile mücadele edeceğiz düşünüyorum - bu ilk tuşa basma tetikleyici olarak - ve yayılmasını durdurmak için mümkün olmayacaktır Enter tuşunu hariç tutmak istiyorsanız ikincisi.