ich habe leider mal wieder ein Problem, und zwar bastle ich mir ja gerade eine Suchfunktion für meine HP, und das klappt auch ganz gut (mit DOM-Befehlen).
Die Ergebnisse werden in einer absolut positionierten
angezeigt. Jetzt möchte ich, dass diese
bei Drücken von Escape geschlossen wird. Versucht habe ich:
[code]
..
[/code]closeDiv() schließt wie zu erwarten die Div, und diese Methode funktioniert nachweislich, wenn ich sie mit nem onclick ausführe klappt alles. Trotzdem bleibt die
visible.
Einen Fehler zeigt mir die FF-Fehlerkonsole nicht an, und die Notation scheint zu funktionieren, im Suchfeld verwende ich zum Beispiel:
Firefox und IE behandeln Events verschiedenen.
Der Firefox und auch andere Browser wie Opera usw kennen das window.event Objekt nicht. Sie geben der Funktion einen Parameter mit in denen sich das Event Objekt befindet.
Kannst dir also einen Wrapper schreiben
Nehmen wir mal an du lässt dein closeDiv einfach direkt aufrufen. Dann fragst du da drinnen ab:
function closeDiv(e) {
var e = (window.event) ? window.event : e;
if(e.keyCode == 27) {
// Was immer du amchen wolltest
}
}
Aber kann mich jemand noch kurz auf diese „var e = (window.event) ? window.event : e;“-Syntax stoßen, vllt mit einem Link, einer kurzen Erklärung oder einem Stichtwort?
Und auch die „“-Syntax hab ich noch nie gesehen… Selbiges wie oben
danke für die Hinweise. Läuft jetzt problemlos. Aber wo lerne ich sowas? selfHTML ist da teilweise nicht so hilfreich finde ich… Gibt es da was Aktuelleres?
Das stimmt. Aber das ist nicht in allen Browsern gleich.
Bei DOM-Events-kompatiblen Browsern ist das Event-Objekt im Kontext vorhanden; im IE nicht. Da wird einen Kontext höher geguckt, ob die Eigenschaft „event“ gefunden werden kann. Und dieser höhere Kontext ist „window“, weshalb dort window.event gefunden wird. Das zu Erklärung.
Deshalb reicht, wie struppi richtig sagte, folgendes:
[HTML][/HTML]
Man könnte jetzt noch streiten, welche Variante schneller ist.
Hallo, danke für die Antwort, klappt aber leider nicht…
Ist es grundsätzlich eine schlechte Idee, F2 dafür zu verwenden? Ich mag halt den Gedanken, dass die Suchfunktion über eine Taste aufrufbar ist… Und warum stellt das eine Sicherheitslücke dar?