Hallo,
Nun schaffe ich es aber nicht, den event bei zwei gleichzeitig gedrückten Tasten auszulösen.
wenn du von gleichzeitig gedrückten Tasten redest, ist eine davon sicher ein Modifier Key (Shift, Alt, Ctrl). Denn zwei reguläre Tasten kann man zwar auch gleichzeitig drücken, sie "blockieren" sich aber gegenseitig.
function TasteGedrueckt (Ereignis) {
if (!Ereignis)
Ergebnis = window.event;
if (Ereignis.which) {
Tastencode = Ereignis.which;
} else if (Ereignis.keyCode) {
Tastencode = Ereignis.keyCode;
}
if (Tastencode == 74 && Tastencode == 18)
Das kann natürlich nichts werden: Tastencode kann nie gleichzeitig den Wert 74 und 18 haben! Bedenke, dass die Ctrl-Taste und die J-Taste, die du hier abfragen willst, genaugenommen *nacheinander* gedrückt werden, das erzeugt daher insgesamt fünf Events:
keydown: 18 (Ctrl)
keydown: 74 (J)
keypress: J
keyup: 74 (J)
keyup: 18 (Ctrl)
Du musst also darauf achten, wann die Ctrl-Taste gedrückt bzw. losgelassen wird, und dir den Zustand dieser Taste selbst merken. Internet Explorer macht das für dich, wie du ja selbst schon gelesen hast.
Dieser Forumsbeitrag könnte eine Lösung enthalten, aber leider durchschaue ich nicht, was ich bei mir entsprechend anpassen muss.
Da hat molily gezeigt, dass e.ctrlKey offenbar auch von Gecko-Browsern unterstützt wird, obwohl ich den Hinweis "Microsoft-Syntax" im einleitenden Satz dieses Abschnitts so gedeutet hätte, dass nur IE diese Eigenschaften zur Verfügung stellt. Das Symbol "DOM 2.0" deutet allerdings auch auf eine standardisierte und damit *sehr* wahrscheinlich auch von Gecko unterstützte Lösung.
Das macht dein Vorhaben natürlich viel einfacher: Reagiere nur auf die gewünschte Buchstabentaste, und frage innerhalb des Eventhandlers zusätzlich e.ctrlKey ab.
Übrigens: Die Tastenkombi Ctrl-J ist äquivalent zum Drücken der Enter-Taste und daher heikel. Beispielsweise wird sie ein Formular absenden, wenn beim Drücken dieser Kombination ein Formularelement focussiert war. Zumindest ist die Wahrscheinlichkeit groß, dass dein Script diese Tastenkombination niemals "sieht", weil sie bereits vom OS oder von der Applikation vernascht wird.
So long,
Martin
Einer aktuellen Erhebung zufolge sind zehn von neun Ehefrauen eifersüchtig auf ihren Mann.