Hallo,
darauf wollte ich ja auch nur hinweisen - dass ggf. noch zusätzliche maßnahmen ergriffen werden müssen, wenn man "normale" formulareingaben noch ermöglichen will, _ohne_ dass dieser handler darauf anspringt
Dann sollten wir vielleicht diese Maßnahmen beschreiben:
function Taste (e) {
var key, target;
/* Event-Objekt in Erfahrung bringen */
if (!e) e = window.event;
/* Tastencode in Erfahrung bringen */
if (e.keyCode) key = e.keyCode;
else if (e.which) key = e.which;
else return;
/* Element in Erfahrung bringen, bei dem der Event passierte */
if (e.target) target = e.target;
else if (e.srcElement) target = e.srcElement;
else return;
/* Prüfung, ob das Target-Element ein input- oder textarea-Element ist */
if (target.type && (target.type == "textarea" || target.type == "text")) {
// Alternativ:
// if (target.nodeName && (target.nodeName.toLowerCase() == "input" || arget.nodeName.toLowerCase() == "textarea")) {
// Target-Element ist input oder textarea.
// Breche Event-Verarbeitung ab. (optional)
if (e.stopPropagation) e.stopPropagation();
else if (typeof(e.cancelBubble) == "boolean") e.cancelBubble = true;
return;
}
/* Verarbeitung des Tastendrucks */
// ...
}
Mathias