Anke-Petra: CreateLinke

Hallo zusammen

Ich hoffe dass mir jemand weiterhelfen kann. Ich sitze jetzt schon den ganzen Tag dran und komme nicht mehr weiter.

Folgendes:

Ich mache mit folgendem Code einen Link:

auswahl.execCommand('CreateLink',false,url);

Jetzt möchte ich aber dem Link noch ein "onClick" mitgeben.

<a href="xxx" onClick="xxxx">xy</a>

Ich vermute das es mit setAttribut gehen sollte, aber ich schaffe es nicht.

Danke für Eure Hilfe.
Anke-Petra

  1. Hi,

    document.getElementById("xy").href = "javascript:theFunction();";

    ...meinst Du sowas als Alternative zum "Event-Handler-nachträglich -einbauen"?

    Gruß

    Marcus

    1. hmm..
      das sollte eigentlich gehen. Nun weiss ich aber nicht, wie das Element heisst.

      Ich markiere es mit:
      auswahl = eval('Bereich' + nr +'.document.selection.createRange()');

      1. Hi,

        auswahl = eval('Bereich' + nr +'.document.selection.createRange()');

        Und document.auswahl.href kannst Du nicht adressieren?

        Marcus

        1. Ich versuche es so: geht aber nicht

          function theFunction() {
           alert("HALLO")
          }

          function doLinkDMS(url,target,nr) {
           auswahl = eval('Bereich' + nr +'.document.selection.createRange()');
           document.auswahl.href = "javascript:theFunction();";
           eval('Bereich' + nr +'.focus()');
          }

          1. Ich kenne micht mit dem selection Objekt bzw. getRange Methode leider kaum aus, da nicht Standard.
            Vermutlich wird aber z.B. ein Textstring, der bis eben noch nichts von seinem Glück wusste, adressierbar und jetzt soll auch gleich sein href geändert werden.
            Ich würde an seiner Stelle erstmal mit setAttribute ein <a> bekommen wollen, bevor dessen href geändert wird...:)

            Gruss
            Marcus

            1. hi,

              Ich kenne micht mit dem selection Objekt bzw. getRange Methode leider kaum aus, da nicht Standard.

              aber auswahl.execCommand('CreateLink',false,url) hältst du für standard?

              gruss,
              wahsaga

          2. Ich versuche es so: geht aber nicht

            function theFunction() {
            alert("HALLO")
            }

            function doLinkDMS(url,target,nr) {
            auswahl = eval('Bereich' + nr +'.document.selection.createRange()');
            document.auswahl.href = "javascript:theFunction();";
            eval('Bereich' + nr +'.focus()');
            }

            Das ist ja schlimm.
            wozu denn um Himmels willen diese eval Orgie? (das funktioniert doch 100% nur im IE oder?)

            was willst du denn machen?

            wenn du weisst wie das Element heißt, dann geht es etwa so:

            auswahl = document['Bereich' + nr].document.selection.createRange();

            auswahl.onclick = theFunction; <-- so weisst du die Funktions referenz dem onclick handler zu.

            document['Bereich' + nr].focus();

            eval ist evil!

            Struppi.

  2. Nolimetongere,

    hier hab ich was im archiv gefunden was dir wahrscheinlich weiterhilft..
    http://forum.de.selfhtml.org/archiv/2002/4/9757/#m54021

    Danke für Eure Hilfe.

    no prob'

    Zebulon
    The Interim Polytoximonium

    --
    <img src="http://www.dmp-web.de/xCell/zebulon.jpg" border="0" alt="">
    [bitte bitte weg mich nicht -
    so lang ich träume gibts nur mich]