Versed: Klickbarer Text mit Buttonfunktionalität

Hallo, Leute.

Ich möchte gerne einen Text haben, auf den ich klicken kann, der aber kein Link beherbergt, sondern der auf onClick() ein Textfeld füllt.

Ich weiß, wie ich nen Button erstellen kann, der diese Funktionalität hat, aber ich möchte einen Klickbaren Text haben (halt genau in der Art und Weise, wie ein href funktioniert).

Hoffe, ihr könnt schnell helfen.

Gruß, Versed

  1. Hallo!

    Ich möchte gerne einen Text haben, auf den ich klicken kann, der aber kein Link beherbergt, sondern der auf onClick() ein Textfeld füllt.

    Die meisten HTML-Elemente haben den onClick-Eventhandler (siehe: HTML-Attribut-Referenz -> Universalattribute -> Universalattribute für Event-Handler). Du kannst also deinen Text in ein normales <div>, <p> oder <span> schreiben. Das ist egal.

    Die Darstellung, insbesondere die des Mauszeigers, kannst du über CSS steuern: cursor:pointer; (siehe: http://de.selfhtml.org/css/eigenschaften/anzeigefenster.htm#cursor.

    ciao, ww

    --
    Schäuble:
      "Wir können alles. Außer Rechtsstaat."
    1. Hi!

      Die meisten HTML-Elemente haben den onClick-Eventhandler (siehe: HTML-Attribut-Referenz -> Universalattribute -> Universalattribute für Event-Handler).

      Ja, allerdings bleibt dabei dann noch die Frage offen, wie sinnvoll das ist und ob es nicht besser wäre, auf Eventhandler-Attribute zu verzichten und über das W3C-DOM auf die Elemente zuzugreifen.
      Siehe auch: Unobtrusive JavaScript bzw. Barrierefreies JavaScript.

      Im Endeffekt muß natürlich jeder selbst wissen, wie er die Sache angeht, aber wenn man Funktionalität und Struktur sauber voneinander trennen will, wäre es natürlich besser, wenn das HTML-Dokument nicht voller onIrgendwas-Eventhandler und JS-Code ist.
      Ich lagere das jedenfalls immer komplett aus, so daß in meinen Dokumenten möglichst kein JS-Code zu finden ist und baue meine Seiten halt so auf, daß diese auch komplett ohne JS funktionieren (es sei denn es gibt einen Kunden, der es unbedingt anders will).

      Schöner Gruß,
      rob

  2. Hi,

    Ich weiß, wie ich nen Button erstellen kann, der diese Funktionalität hat, aber ich möchte einen Klickbaren Text haben (halt genau in der Art und Weise, wie ein href funktioniert).

    Was ist dann dein Problem?

    <span onclick="jsfunction">du darfst mich klicken</span>

    oder aber auch alle anderen tags in denen sich Text befindet.

    carpe diem
    Pia

  3. Hallo,

    Ich möchte gerne einen Text haben, auf den ich klicken kann, der aber kein Link beherbergt, sondern der auf onClick() ein Textfeld füllt.

    An welcher Stelle liegt dein Problem?

    Geeignetes Element einfügen > onclick-Event zuweisen > Textknoten in das Element einhängen

    Ich weiß, wie ich nen Button erstellen kann, der diese Funktionalität hat, aber ich möchte einen Klickbaren Text haben (halt genau in der Art und Weise, wie ein href funktioniert).

    Warum soll das schwerer sein, als mit einem Button?

    mfg. Daniel

    1. Lieber D.R.,

      Geeignetes Element einfügen > onclick-Event zuweisen > Textknoten in das Element einhängen

      ... also am Ende sowas: <p>Lorem <span onclick="return tueWas();">ipsum dolor</span> sit amet.</p>

      Liebe Grüße aus Ellwangen,

      Felix Riesterer.

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

        Geeignetes Element einfügen > onclick-Event zuweisen > Textknoten in das Element einhängen

        ... also am Ende sowas: <p>Lorem <span onclick="return tueWas();">ipsum dolor</span> sit amet.</p>

        Das ist eine Möglichkeit. Ich würde JavaScript aber ein bisschen mehr vom (X)HTML-Code trennen:

        JavaScript:

        window.onload = function(){  
         document.getElementById("foo").onclick = tueWas;  
        }
        

        (X)HTML:
        <p>Lorem <span id="foo">ipsum dolor</span> sit amet.</p>

        Falls der Text nur ein Bedienelement ist, würde ich ihn sogar komplett mit JS/DOM erzeugen und einfügen.

        mfg. Daniel

  4. Danke, ihr habt mir auf jeden Fall geholfen.