andy: Anzeige der Link-Adresse wieder freigeben

Hallo zusammen

ich würde gerne auf einer Seite beim Klick auf einen Link diesen hervorheben, was ja mit css mit active funktioniert. Dann soll so lange die Anzeige mit der Adresse des Links anhezeigt bleiben bis auf eine freie Fläche auf der Seite geklickt wird, was bisher nur mit einem Klick auf einen anderen Link funktioniert:

onclick:

	  
function AnzeigeSperren(index)  
{  
	parent.LinkAnzeigen = false  
	parent.document.getElementById("Adresse").innerHTML = document.getElementsByTagName("a")[index].href  
	parent.document.getElementById("Adresse").title = document.getElementsByTagName("a")[index].innerHTML  
	parent.LinkIndex = index  
}  

onmouseover:

	  
function LinkAuslesen(index)  
{  
	if (parent.LinkAnzeigen == true)  
	{  
	parent.document.getElementById("Adresse").innerHTML = document.getElementsByTagName("a")[index].href  
	parent.document.getElementById("Adresse").title = document.getElementsByTagName("a")[index].innerHTML  
	}  
}  

  
function AnzeigeReaktivieren(i)  
{  
	parent.LinkAnzeigen = true  
}  

Danke gruß Andreas

  1. Hi,

    der passende Themenbereich für deine Frage ist JavaScript. Falls dir nicht klar sein sollte, dass das etwas vollkommen anderes ist als JAVA - dann mache es dir bitte erst mal klar.

    Dann soll so lange die Anzeige mit der Adresse des Links anhezeigt bleiben bis auf eine freie Fläche auf der Seite geklickt wird, was bisher nur mit einem Klick auf einen anderen Link funktioniert:

    Vermutlich deshalb, weil du nur auf Klicks auf eben solche überhaupt reagierst?

    Entweder musst du Klicks „irgendwohin“ ebenfalls überwachen (also bspw. auf dem document) und darauf entsprechend reagieren; oder du machst dir die Tatsache zu Nutze, dass der „aktive“ Link den Fokus wieder verliert, wenn woanders hin geklickt wird (onblur).

    onclick:

    function AnzeigeSperren(index)
    {
    parent.LinkAnzeigen = false
    parent.document.getElementById("Adresse").innerHTML = document.getElementsByTagName("a")[index].href

      
    Statt einen Index zu übergeben, um an Hand von diesem wiederum den Link zu ermitteln, könntest du vermutlich einfacher und direkter gleich die Referenz auf den Link, auf den geklickt wurde, übergeben.  
      
      
    
    > ~~~javascript
    
    function AnzeigeReaktivieren(i)  
    
    > {  
    > 	parent.LinkAnzeigen = true  
    > }
    
    

    Wann, wo und wozu rufst du diese Funktion auf?

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Hallo ChrisB

      und klar shit ich wollte natürlich im Bereich JavaScript schreiben. Danke für Deine Änderung.

        
      function AnzeigeReaktivieren(i)  
      {  
              parent.LinkAnzeigen = true  
      }  
      
      

      nehme ich für den Klick rings um des iframes wo sich die Links befinden. Und die Funktion

        
      function LinkAuslesen(index)  
      {  
              if (parent.LinkAnzeigen == true)  
              {  
              parent.document.getElementById("Adresse").innerHTML = document.getElementsByTagName("a")[index].href  
              parent.document.getElementById("Adresse").title = document.getElementsByTagName("a")[index].innerHTML  
              }  
      }  
      
      

      nehme ich ja für eine MouseOver Funktion. Wird beim Klick auf einen Link LinkAnzeigen auf false gesetzt wird ja keine neue Adresse angezeigt. Das funktioniert ja auch ohne Gegensätze auf den Seiten die nur Links auflisten. Jetzt ist aber eine Seite nicht komplett mit Links beladen, sie stehen aber in einer Tabelle. Alsokann ich ja nicht durch Klick auf freie Zellen erreichen das die Anzeige wieder aktiviert wird.

      Also dachte ich auch mal an onblur, diese Funktion wird ja auch schon beim Fensterwechsel aufgerufen. Und dann sollte ich doch prüfen welches Objekt jetzt den Focus hat.

      Danke gruß Andreas