Gernot Back: Standardaktion für Leertaste verhindern

Beitrag lesen

Hallo peter,

Interressant finde ich folgendes Konstrukt:
var e = e || window.event;
Dachte bis jetzt, das ODER ("||") wäre nur bei Vergleichen möglich.
Werd das mal ausprobieren , bisher hab ichs immer so gemacht:
if(!e){e=window.event;}

Das habe ich mir im JS-Workshop von Mintert/Kühnel abgeschaut, ist nicht meine Erfindung. Man schaut sich im Laufe der Zeit so einiges an Skripten an, benutzt sie als Steinbruch und baut sich seine eigenen Kathedralen damit zusammen.

Jo, nehm ich keypress.
Okay, für NS 4 schreib ich nicht mehr.
Da müßte ich auf zu viele Funktionalitäten im Script verzichten.

Soweit es "mein" Skript betrifft, funktioniert es auch in Netscape4.

Um eine abgespeckte Version für den 4er zum Laufen zu bringen würde ein komplett eigenes Projekt entstehen nur für den NS 4.
Der Aufwand ist leider zu groß.

Ohne NS4 würde dein Vorschlag also so aussehen:

  

> function welche (e)  
> {  
> var e = e || window.event;  
>   
> var taste = e.keyCode;  
  

> if(taste==32)  
> {alert('Ich sach nichts!');}  
  

> else  
> {alert('Bin bereit!');}  
  

> }  
  

> document.onkeypress=welche;  

Davon würde ich abraten, denn window.captureEvents kennen auch Mozilla und Opera und die brauchen, wenn ich mich an meine damaligen Experimente richtig erinnere window.onkeypress=welche;

Nur der IE benötigt die Extrawurst mit document.onkeypress=welche;;

Verhindert aber nicht die Ausführung der Standardaktion der Leertaste, sprich das Scrollen des Dokumentes im Fenster.
Ich habs schon mit einem "return false" in der Funktion versucht, das brachte aber nichts.
Oder müßte man die Funktion dann auch so zuweisen ?:
document.onkeypress=return welche;
die Idee, das ganze mal mit "cancelBubble" bzw. "stopPropagation" zu versuchen.

Ich würde da auch wie wild erst mal ins blaue hinein experimentieren; alles gute Ideen, soweit ich das mit meinen oft unzureichenden Kenntnissen beurteilen kann. Ich habe mir bisher das meiste beim Programmieren durch "Trial and Error" erschlossen.

Mal schaun, was bei den ganzen Versuchen rauskommt, werds hier mal mitteilen, wenn ich Ergebnisse hab.

Das ist löblich, dann brauchen wir anderen das nächste Mal auch weniger "Trial and Error".

;-)

Gruß Gernot