tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
1283
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    Ich will in einem bestimmten Div alle Links auslesen und ihnen einen Listener für "click" verpassen. (Hintergrund ist das Redakteure dort Links einpflegen aber kein Plan von Javascript und HTML haben. Somit fällt es aus jedem Link ein "onclick" zu geben.)

    Wenn ich die Seite mit folgendem Code aufrufe, führt er die Folgefunktion (popup) direkt aus. Warum? Sollte nicht erst bei onclick etwas passieren?

    Code javascript:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    window.onload = function()
    {
        var div = document.getElementById("mmtztv");
        var links = div.getElementsByTagName("a");
        for(var i=0;i<links.length;i++)
        {
            //Listener aufbauen        
            if (links[i].addEventListener) 
            {
                links[i].addEventListener("click", popup(links[i].href), true);
            } else if (links[i].attachEvent) {
                links[i].attachEvent("onclick", popup(links[i].href));
            } else {
                return false;
            }        
        }
     }
       
        function popup(url)
        {
            var win = window.open(url, "test", "width=800, height=600");
        }


    HTML-Code:
    <div id="mmtztv">
        <a href="http://www.tz-online.de">Link 1</a>
        <a href="http://www.merkur-online.de">Link 2</a>
    </div>
    <a href="#link3">Link 3</a>

    Wo ist der Fehler?
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Sowohl addEventListener als auch attachEvent erwarten als 2. Parameter lediglich den Namen der Funktion, die Mitgabe von Parametern ist nicht möglich.


    So kannst du es aber lösen:
    Code :
    1
    2
    3
    4
    
    for(var i=0;i<links.length;i++)
        {
          links[i].onclick=new Function('popup(this.href)');
        }
     

  3. #3
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    Echt? Verdammt . Alles klar....werde Deine Lösung versuchen.

    Noch eine Frage. Bisher hatten die Links ein Parameter return false um nicht auf der Hauptseite den Link zu öffnen sondern nur im Popup.

    HTML-Code:
    <a href="mein Link" onclick="meine funktion(this.href);return false;" >Mein Linktext</a>
    Kann ich das aus der Funktion auch bewerkstelligen?
     

  4. #4
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Das mit dem return kann da auch hinein...
    Code :
    1
    2
    3
    4
    
    for(var i=0;i<links.length;i++)
        {
          links[i].onclick=new Function('[B]popup(this.href);return false;[/B]');
        }
    schreib halt das dort hinein, was du direkt im onclick des Links notieren würdest
     

  5. #5
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    Alles klar..auch wenn ich es nicht ganz checke. Funktionieren tut es....

    Gibts irgendwie ne Doku zu obj.onclick = ? Finde irgendwie nichts zu dieser Schreibweise. Das scheint ja in allen Browser zu klappen.
    Geändert von Kahmoon (19.11.07 um 14:44 Uhr)
     

Ähnliche Themen

  1. tutorial zu eventhandler
    Von H2SO4 im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 26.06.07, 13:53
  2. javascript eventhandler Frage
    Von nice2kn0w im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 28.05.07, 20:02
  3. EventHandler
    Von Jo-Jo im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 27.04.07, 08:49
  4. Eventhandler
    Von hugo72 im Forum .NET Café
    Antworten: 1
    Letzter Beitrag: 05.04.07, 07:52
  5. Frage zu "verhalten"
    Von Gullynbg im Forum HTML-Editoren
    Antworten: 5
    Letzter Beitrag: 06.10.02, 18:20