2010-08-11 15 views
39

Wenn versucht wird, jQuery zur Eingabeeingabe zu veranlassen, aber Leerzeichen und andere Schlüssel erkannt werden, wird die Eingabe nicht erkannt. Was ist los unten:jQuery - keydown/keypress/keyup ENTERKEY Erkennung?

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

Antwort

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 gibt es eine IDE, die Sie empfehlen können, nach Klammern suchen? versucht mit aptana, aber Schwierigkeiten bei der Anpassung daran und es hat keine Abkürzung für In-IDE-Vorschau! – ina

+4

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

+0

Wenn Sie auf OSX sind, dann gewinnt Textmate für mich. Zend Studio und Aptana waren nett und ich bin mir sicher, dass du manuell Shortcuts/Hotkeys hinzufügen kannst, um das zu tun, was du willst ??? Interessante über 'event.which', wusste nie vorher: https://developer.mozilla.org/en/DOM/event.charCode#Notes – balupton

3

Ich denke, Sie werden mit keyup Ereignis zu kämpfen - wie es keypress erste auslöst - und Sie werden aufhören können, um die Ausbreitung von nicht die zweite, wenn Sie die Eingabetaste ausschließen möchten.