Dynamisches JavaScript



  • Hallo,
    folgendes möchte ich realisieren:
    Beim eintippen von sourcecode(Javascript drawing) in eine textarea soll der code beim eintippen ausgeführt werden.

    D.h wenn ich die Farbe zum zeichnen ändere soll diese zur Laufzeit geändert werden.

    Folgenden Code habe ich mir dazu überlegt suche aber nach einer einfacheren Alternative:

    <!DOCTYPE HTML>
    <html>
    <title>
    </title>
    
    <script type="text/javascript">
    function keyEvaluation()
    {
          var func = document.getElementById('function').value;
          document.getElementById('manip').innerHTML = '<button id=\"refresh\" onClick=\''+func+'\'>Placeholder<\/button>';
          document.getElementById('refresh').click();
    }
    </script>
    
    <body>
    <div id="manip">
    <button id="refresh" style="display: none;">Placeholder</button>
    </div>
    <table border="1">
    <tr><th>Sourcecode</th><th>Drawing</th></tr>
    <tr><td width="500" height="500"><textarea id="function" rows="30" cols="60" onKeyUp='keyEvaluation()'></textarea></td>
    <td><canvas id="myCanvas" width="500" height="500"></canvas></td>
    </tr>
    </table>
    
    </body>
    </html>
    

    Beim eintippen von z.B.
    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    ctx.fillStyle="#FF0000";
    ctx.fillRect(0,0,150,75);

    würde dynamisch ein Rechteck gezeichnet.

    Nun Suche ich nach einer Möglichkeit den unschönen Umweg über den Button(Placeholder) zu umgehen.

    Kennt jemand eine Alternative?

    Gruß,

    JingTho


  • Mod

    eval oder setTimeout



  • Easy ,yay , THATS IT,

    thanks,


Anmelden zum Antworten