dounut: onkeydown in iframe nicht möglich?

Hallo, ich möchte einen iframe (mit serverexternen inhalt) per Pfeiltasten verschieben, so funktioniert das auch ganz gut, das Problem ist nur, dass ich sobalt ich in den iframe klicke die Pfeiltasten nicht mehr benutzten kann. Kennt da jemand einen Rat? Hier der Code:

  
  
  
	function key(event) {  
		if (event.keyCode == 39) {  
			move("right");  
		}  
		if (event.keyCode == 37) {  
			move("left");  
		}  
		  
	document.onkeydown = key;  

Das gleiche Problem tritt übrigends auch nach einer alert() meldung auf. In beiden fällen muss erst wieder in das eigentliche Dokument geklickt werden.

  1. Hi,

    ich möchte einen iframe (mit serverexternen inhalt) per Pfeiltasten verschieben, so funktioniert das auch ganz gut, das Problem ist nur, dass ich sobalt ich in den iframe klicke die Pfeiltasten nicht mehr benutzten kann.

    doch, klar kannst du - nur werden sie dann vom eingebundenen Fremddokument verarbeitet. ;-)

    Das gleiche Problem tritt übrigends auch nach einer alert() meldung auf. In beiden fällen muss erst wieder in das eigentliche Dokument geklickt werden.

    Natürlich. Tastaturereignisse werden von dem Fenster verarbeitet, das gerade den Focus hat. Durch Anklicken wird ein Fenster normalerweise focussiert (sofern möglich).
    Sorge also dafür, dass der Focus da ist, wo du ihn haben möchtest.

    Ciao,
     Martin

    --
    "Drogen machen gleichgültig."
     - "Na und? Mir doch egal."
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Sorge also dafür, dass der Focus da ist, wo du ihn haben möchtest.

      Danke für die Antwort
      Ich habs jetzt mit <body onblur="fokus()"> versucht, das problem ist dann aber, dass ich im iframe nicht mehr arbeiten kann (z.B. Texteingaben tätigen). Gibt es eine möglichkeit einen Tastendruck im iframe zu überprüfen und dann gegebenenfalls auf das Dokument zu fokussieren?

      1. Hi,

        Ich habs jetzt mit <body onblur="fokus()"> versucht,

        Und wie sieht Deine fokus()-Funktion aus?

        das problem ist dann aber, dass ich im iframe nicht mehr arbeiten kann (z.B. Texteingaben tätigen). Gibt es eine möglichkeit einen Tastendruck im iframe zu überprüfen und dann gegebenenfalls auf das Dokument zu fokussieren?

        Am sinnvollsten wäre es, wenn Du ohne iframe auskämst - also serverseitig den iframe-Inhalt in die eigentliche Seite integrieren könntest.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
        1. Hi,

          Ich habs jetzt mit <body onblur="fokus()"> versucht,

          Und wie sieht Deine fokus()-Funktion aus?

          <body onblur="this.focus()"> sollte das heißen. Meine schuld ;)

          Am sinnvollsten wäre es, wenn Du ohne iframe auskämst - also serverseitig den iframe-Inhalt in die eigentliche Seite integrieren könntest.

          cu,
          Andreas

          Das Problem ist dann, das ich sobalt ich auf einen Link klicke von der eigentlichen Seite geschmissen werden oder gibst da einen Trick?

          1. Hi,

            Das Problem ist dann, das ich sobalt ich auf einen Link klicke von der eigentlichen Seite geschmissen werden

            wieso sollte das ein Problem sein? Das ist das Verhalten, das ich erwarten würde ...

            oder gibst da einen Trick?

            Wenn die verlinkte Seite in einem anderen Fenster/Tab geöffnet werden soll, Ctrl gedrückt halten beim Klick. Oder mit der mittleren Maustaste. Oder was auch immer im Browser konfiguriert ist für neues Fenster/neuen Tab.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            O o ostern ...
            Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.