torsten: Focus auf Linkziel setzen

Moin!

Bei mir hängt+s ein wenig...

Wenn ich mit einem Link zu einem Ziel mit Sprungmarke (id="bla") will geht das ganz prima allerdings hätte ich jetzt auch gern den Fokus auf diesem Objekt.

Leider finde ich keinen Lösungsansatz... eine CSS Umsetzung meines Problems wäre mir am liebsten...

Hat vielleicht jemand von euch ne Idee?

hier ist noch so ein Link zum entsprechenden Objekt:

http://www.jungmann.net/__test/start.html#sylt

mfg torsten

  1. Lieber torsten,

    allerdings hätte ich jetzt auch gern den Fokus auf diesem Objekt.

    den Focus zu setzen bedeutet, in die Bediengewohnheiten des Besuchers einzugreifen. Nur er (bzw. sein Programm) kann festlegen, wo der Focus nach dem Betätigen eines Links ist (im Regelfalle dort, wo er geklickt hat, also der letzte Link).

    Mit JavaScript kannst Du auf dieses Regelverhalten des Browsers Einfluss nehmen. Dort existiert die Methode element.http://de.selfhtml.org/javascript/objekte/elements.htm#focus@title=focus(), die aber nicht immer in allen Browsern bei unbedingt jedem Element gelingen muss. Im IE hatte ich schonmal den ein oder anderen Fall, wo ich mittels eines try {...} catch(e) {...}-Statements die focus-Methode "umwickeln" musste.

    Beispiel:

    window.fokussiere = function (id) {  
        var element = document.getElementById(id);  
      
        if (element) {  
            try {  
                element.focus();  
            } catch (e) {  
                // hat nicht geklappt!  
            }  
        }  
    }
    

    <a href="#meinElement" onclick="fokussiere('meinElement')">zu meinem Element</a>

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Lieber Felix Riesterer,

      danke für die Antwort auch wenn sie für mich zu javascr-y-ptisch ist.

      den Focus zu setzen bedeutet, in die Bediengewohnheiten des Besuchers einzugreifen. Nur er (bzw. sein Programm) kann festlegen, wo der Focus nach dem Betätigen eines Links ist (im Regelfalle dort, wo er geklickt hat, also der letzte Link).

      das verstehe ich und ich will auch auf garkeinen Fall vorschreiben wo der User hinzuklicken hat, das ganze soll lediglich eine Entscheidungshilfe sein ;-) vielleicht habe ich mich missverständlich ausgedrückt.

      wenn der Webseitenbetrachter von einem externen Link kommt und die Seite vor ihm nigelnagel neu aufgebaut wird möchte ich lediglich zeigen: das ist neu (Fokus) aber der Fokus soll

      a) entweder abgefangen werden in dem ich in den Link ne Sprungmarkenbezeichnungsangabe packe (#bla) und ein Java  das ausliest um den Parameter zu übernehmen und den Fokus zu aktivieren

      oder

      b) in irgend einer Form durch CSS umgesetzt werden.

      any help?

      mfg torsten

      --

      1. Lieber torsten,

        danke für die Antwort auch wenn sie für mich zu javascr-y-ptisch ist.

        Dein Begehren lässt sich aber nur mit JavaScript umsetzen!

        b) in irgend einer Form durch CSS umgesetzt werden.

        Völlig unmöglich!

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. lieber felix,

          Dein Begehren lässt sich aber nur mit JavaScript umsetzen!

          mist! ich kann ziemlich viele dinge nicht, eins davon ist JS...

          b) in irgend einer Form durch CSS umgesetzt werden.

          Völlig unmöglich!

          100% sicher ? ;-)

          hm, vielleicht ein kleiner hinweis der für unschlaue verständlich ist?

          mfg torsten

          1. Lieber torsten,

            b) in irgend einer Form durch CSS umgesetzt werden.

            Völlig unmöglich!

            100% sicher ? ;-)

            ja, 100%. Mit CSS lässt sich das _Aussehen_ einer Seite steuern, nicht jedoch das Verhalten. Ich finde ja, dass die Sache mit :hover oder :focus durchaus etwas mit Verhalten zu tun hat, insbesondere, wenn sich dadurch wesentliche Teile einer Seite ein- oder ausblenden. Aber diese Dinge sind alle rein passiv, sprich, sie _re_agieren auf Benutzerhandlungen.

            Das Setzen eines Focus ist mit CSS nicht möglich!

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
            1. moin!

              fertig

                   window.onload = function() {  
                    var toFocus = document.getElementById(window.location.hash.substr(1));  
                    if (toFocus)  
                     toFocus.focus();  
                   }
              

              stammt zwar nicht von mir muckelt aber wie 'n dampfmaschin

              irgendwelche einwände?

              mfg torsten

              --
  2. Hallo,

    Wenn ich mit einem Link zu einem Ziel mit Sprungmarke (id="bla") will geht das ganz prima allerdings hätte ich jetzt auch gern den Fokus auf diesem Objekt.

    den Focus kannst du aber nur auf Objekte/Elemente setzen, die von sich aus auch eine Tastatureingabe erwarten oder verarbeiten - also im Wesentlichen Formularelemente und Links. Wenn nun ein anderes Element, z.B. eine Überschrift (hX) das Linkziel ist, brichst du dir mit dem Focus die Ohren.

    hier ist noch so ein Link zum entsprechenden Objekt:

    http://www.jungmann.net/__test/start.html#sylt

    Ziemlich leere Seite, abgesehen von den Links an der oberen Kante, die alle nur auf einzelne Bilder verweisen. Ein Blick in den Quelltext zeigt mir, dass du anscheinend die gesamte Funktion der Site ausschließlich auf Javascript aufbaust. Böse Sache!
    Warum schreibst du eigentlich den mailto-Link mit numerischen Zeichenreferenzen, anstatt ihn im Klartext zu notieren? Außer absoluten Laien hält das niemand vom Lesen ab, Spambots schon gar nicht, wenn du die meinen solltest.

    Außerdem ist dein HTML-Code grob fehlerhaft: Du verwendest IDs mehrfach. Eine ID muss dokumentweit eindeutig und einzigartig sein!

    So long,
     Martin

    --
    F: Was ist eigentlich aus deinem schlimmen Durchfall geworden?
    A: Mein Arzt hat mir Valium verschrieben.
    F: Und das hilft?
    A: Naja, ich mach mir immer noch in die Hose. Aber inzwischen ist es mir egal.
    1. moin martin!

      den Focus kannst du aber nur auf Objekte/Elemente setzen, die von sich aus auch eine Tastatureingabe erwarten oder verarbeiten - also im Wesentlichen Formularelemente und Links. Wenn nun ein anderes Element, z.B. eine Überschrift (hX) das Linkziel ist, brichst du dir mit dem Focus die Ohren.

      ich versuche auf die links (bilder) zu fokussieren

      Ziemlich leere Seite,

      nun, aller anfang ist schwer

      |abgesehen von den Links an der oberen Kante, die alle nur auf einzelne Bilder verweisen. Ein Blick in den Quelltext zeigt mir, dass du anscheinend die gesamte Funktion der Site ausschließlich auf Javascript aufbaust. Böse Sache!

      ich weiß um die nachteile wnen du ins wurzelverseichniss der seite springst findest du eine andere variante... ich bin ja noch nicht fer...

      Warum schreibst du eigentlich den mailto-Link mit numerischen Zeichenreferenzen, anstatt ihn im Klartext zu notieren? Außer absoluten Laien hält das niemand vom Lesen ab, Spambots schon gar nicht, wenn du die meinen solltest.

      :) ne schon klar, ist einfach kopiert und ein überbleibsel von früher... mach ich noch wech, ganz schön hektisch.

      Außerdem ist dein HTML-Code grob fehlerhaft: Du verwendest IDs mehrfach. Eine ID muss dokumentweit eindeutig und einzigartig sein!

      ganz übel, grober schnitzer! danke für den hinweis, vor lauter kopiererei ist mir das garnicht aufgefallen, das wird auf der stelle fortgemacht :)

      hast du einen hinweis zu meiner frage?

      mfg torsten