2010-08-11 10 views
39

Cercando di ottenere jQuery per rilevare l'input immesso, ma lo spazio e altri tasti vengono rilevati, l'immissione non viene rilevata. Che cosa c'è che non va al di sotto:jQuery - keydown/keypress/keyup Rilevamento ENTERKEY?

$("#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/

risposta

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 !! a proposito c'è un IDE che consiglieresti in grado di controllare le parentesi graffe? ho provato ad usare aptana, ma ho difficoltà ad adattarmi ad esso e non ha una scorciatoia per l'anteprima in-ide! – ina

+4

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

+0

Se sei su OSX, Textmate vince per me. Zend Studio e Aptana erano simpatici e sono sicuro che puoi aggiungere manualmente scorciatoie/tasti di scelta rapida per fare ciò che desideri ??? Interessante su 'event.which', non lo sapeva mai prima: https://developer.mozilla.org/en/DOM/event.charCode#Notes – balupton

3

penso che sarete lotta con keyup evento - come si innesca prima pressione di un tasto - e non sarà in grado di fermare la propagazione di il secondo se si desidera escludere il tasto Invio.

Problemi correlati