JavaScript Einen DIV ausgeben lassen wenn Taste "Enter" gedrückt wurde

PEASANT KING

Commander
Registriert
Okt. 2008
Beiträge
2.412
Hallo Leute,

sorry für den langen Thread Namen ging leider nicht anders.
Ich versuche schon seit ner Stunde durch eine JavaScript Funktion, dass wenn ich die Taste "Enter" drücke im Body des HTML Dokuments ein DIV ausgegeben wird.
Und somit dann auf der Seite, der DIV enthält eine Menuleiste, die Menuleiste erscheint.

Hier mal der Code:
Code:
      <script type="text/javascript">
            
            var e ="event";
            function Event_Key(e)
            {      
            if(e.keyCode == 13)
                {
                document.write('<div id="menu"></div>'); 
                }          
            }
        </script>
Aufgerufen wird das ganze durch
Code:
<body onkeydown="Event_Key(e);">
Hat Jemand ne Ahnung wie ich das bewerkstelligen kann so läuft es jedenfalls nicht -.-
Nochmal zum Verständnis Ziel ist es durch einen Druck einer bestimmten Taste ein Menu einblenden zu lassen. Bzw. es wieder auszublenden.
 
Zuletzt bearbeitet:
wieso bindest du das div nicht schon ein und setzt es via css auf display:none; und änderst via javascript einfach diese css eigenschaft?
 
Ja die Idee kam mir auch eben hab es auch schon so gemacht.
Fehlt nur noch ne Schleife das ich es jedesmal bei Enter einblenden sowie ausblenden lassen kann.
Danke trotzdem :)
 
Ich würde es zum Beispiel mit einem JS Framework machen. Da hast du den Vorteil dass vieles leichter zu machen geht und die paar kb Daten mehr stören heutzutage auch niemanden. Am Beispiel von JQuery:

man nehme http://api.jquery.com/keydown/ und http://api.jquery.com/category/effects/ (hide und show bzw gleich toggle) und daraus wird:

Code:
$('body').keydown(function(event) {
  if (event.keyCode == '13') { // hier auf ENTER prüfen
     event.preventDefault(); // nicht umbedingt, schau halt ob dus brauchst

     $("#menu").toggle(); // dein div mit der id "menu"
  }
});

(ungetestet, müsste aber funktionieren)

Unter JQuery kannst du über CSS Selektoren deine gewünschten Tags finden. Zum Beispiel findet ein $("#menu") ein <div id="menu"></div>
Natürlich kannst du statt body auch an etwas anderes den Event/Listener anhängen.

Der Download Link für jquery.js: http://code.jquery.com/jquery-1.4.2.min.js
Diese Datei muss eingebunden werden damits funktioniert.
 
Zuletzt bearbeitet:
Ich habe es nun so bewerkstelligt
Code:
//*****Hauptmenu Ein / Ausblenden*****//

var menu = "";
var count ="0";



function keyDown(a_oEvent)
{    
            if (window.all || window.opera) {
                iKey = event.keyCode;
            } else if (navigator.appName == "Netscape") {
                iKey = a_oEvent.which;
            } else {
                return false;
            }
            if (iKey == 13)
            {
            document.getElementById('menuleiste').style.visibility = 'visible';
            count++;
            }
            
            if (count > 1)
                {
                    if (window.all || window.opera) {
                    iKey = event.keyCode;
                    } else if (navigator.appName == "Netscape") {
                    iKey = a_oEvent.which;
                    } else {
                    return false;
                    }
                    
                    if (iKey == 13)
                    {
                    document.getElementById('menuleiste').style.visibility = 'hidden';
                    count = 0;
                    }
                }    
        
}
 
Zurück
Oben