2017-05-17 4 views
0

Das Skript zeigt die Tastenanschläge, aber sie verschwinden, wenn ich ein neues keypressWie liste ich diese Tastenkombinationen untereinander auf?

tun würde ich die HTML-Seite zeigen:

Linke

Rechts

Linke

... .

HTML:

<div id=""></div> 

jQuery:

$(document).ready(function(){ 
     document.onkeyup = function(event) { 
     switch (event.keyCode) { 
     case 37: 
      $("div").html( "Left"); 
      break; 
     case 38: 
      $("div").html("Up"); 
      break; 
     case 39: 
      $("div").html("Right"); 
      break; 
     case 40: 
      $("div").html("Down"); 
      break; 
      } 
     };  
    }); 
+2

Sie ersetzt die Eingabe html des div jedes Mal. Schau mal hier: http://stackoverflow.com/questions/5677799/how-to-append-data-to-div-using-javascript –

+0

benutze 'innerHTML()' – mxr7350

Antwort

0

Beispiel: https://jsfiddle.net/56ufg2me/

$(document).ready(function(){ 
    var $element = $('div'); 

    document.onkeyup = function(event) { 
     var text = $element.html(); 

     switch (event.keyCode) { 
     case 37: 
      $element.html(text + "<br>Left"); 
      break; 
     case 38: 
      $element.html(text + "<br>Up"); 
      break; 
     case 39: 
      $element.html(text + "<br>Right"); 
      break; 
     case 40: 
      $element.html(text + "<br>Down"); 
      break; 
     } 
    };  
}); 
+0

Du brauchst 'whitespace: pre' auf dieses div, oder tausche einfach dein '\ n' für'
' –

+0

yep, ty @JosephMarikle –

0
$("div").append( "Left"); 

, dass der Text in die div anhängt. Für neue Zeilen können Sie HTMl hinzufügen, damit ein br es tun würde. 2 Br, wenn Sie die Lücke wollen. Oder man konnte sie in der p wickeln

$("div").append( "Left<br /><br />"); 
$("div").append( "<p>Left</p>"); 
Verwandte Themen