文章中の文字をJavaScriptとして動作させてみる
文章中に使ったサンプルの文字とかを
直接動作させる方法はないかなと思い探してみたら、
どうやらevalという関数で動作させることができるようだ。
今後作って動作させてみたいことがあるので、
今回はその時のために、evalの使い方を勉強してみる。
eval(○○)
eval(○○)は、○○に入れた文字を動作させられるらしい。
つまり、書いている文字を引っ張ってきて、そこに入れれば、
書いた文字が動作するのでしょう!
引っ張ってくるのをjQueryの構文にしてみたら、
その構文通りに動くのではないだろうか?
ってことで実験。
サンプル
■設定ソース
$(function(){ $("input.run").click(function(){ var code = $("#samp").text(); eval(code); }); });
今回から、$(document).ready(function()・・・の部分を
省略して$(function()としてみた。
jQueryではどちらでも動作するのだが、
今までは感覚的に捉えにくかったので使わないでいたが、
そろそろ覚えてきたので切り替えてみることにした。
■HTML
<p id="samp">$("#prev").toggle("slow");</p> <input type="button" value="» 実行" class="run" /> <p id="prev">実行をクリックすると、ここが消えるよ</p>
今回はCSS部分は省略してあります。
書いてあるように今回は、
「<p id="hoge">$("#prev").toggle("slow");</p>」を読んで、
実行と書かれたinputで作ったボタンをクリックした時に
それを実行させるようにしてみました。
サンプルプレビュー
$("#prev").toggle("slow");
実行をクリックすると、ここが消えるよ
今後応用予定
以前のブログでは導入していたのだけど、
今度は自分の手で作ってみたかったソースがあるので、
いつかそれを導入してみようと思う。
どんなのかというと、毎回サンプルと同時に実行ソースも書いているのだけど、
片方だけ書けば、もう片方を自動的に生成するようなのを作りたかったので、
今回はその準備のための勉強をしてみた。
近いうちに、サンプルで書いたのを直接実行できるような
そんなのを作ってみようとおもう。