• ベストアンサー

function名の変更はできますか?

はじめまして。 JavaScript初心者です。 onclick時にその中にあるfunction名の変更をしたいのですが、どうしてもできません。 下記のように記述していますが、問題点、やり方など教えてほしいです。 document.name.onclick="function名"; よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

こんな感じで・ onloadで設定していますけど、要は、読込後に実行されるならどこでもいいです。 ---------------------------------------------------- <html> <head> <script type="text/javascript"> function init(){ document.FORM1.aaa.onclick=testScript2; } function testScript2() { alert("testScript2 実行!"); } function testScript() { alert("testScript 実行!"); } </script> </head> <body onload="init()"> <form name="FORM1"> <input type="button" name="aaa" value="aaa" onclick="testScript()"> <input type="button" name="bbb" value="bbb" onclick="testScript()"> </form> </body> </html>

donbraco
質問者

お礼

なるほど、これならいけそうですね。 ありがとうございます。

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

あまり動的に関数名までいじってしまうと メンテナンス性が落ちる可能性もあります。 できるできないは他の回答者さんの回答を 適切に判断いただければとは思いますが、 実質受け渡すパラメータを調整して 関数内で分岐した方がひいては作り側の作業軽減に もつながるような気がします。

donbraco
質問者

お礼

ご指摘ありがとうございます。 本来ならそのほうが望ましいのですが、 自分が勉強不足なため効率が悪くなってしまいました。

  • akanekor
  • ベストアンサー率52% (102/194)
回答No.3

>ちなみにこの関数はwinie限定なんでしょうか? >ほかのブラウザ(firefox)では動作しませんでした。 http://www.kawaz.jp/pukiwiki/?JavaScript%A5%E1%A5%E2 の一番下参考 面倒なら、No2さんのやり方で。

donbraco
質問者

お礼

なるほど。 完全に理解するには まだまだ勉強が必要ですね。 ありがとうございました。

  • akanekor
  • ベストアンサー率52% (102/194)
回答No.1

attachEventって関数使わないとだめです。 サンプル <html> <head> <script type="text/javascript"> function testScript2() { alert("www"); } function testScript() { bbb.attachEvent('onclick', testScript2); bbb.value ="uuu"; } </script> </head> <input type="button" name="aaa" value="aaa" onclick="testScript()"> <input type="button" name="bbb" value="bbb" onclick="testScript()"> </html>

donbraco
質問者

お礼

できました! ありがとうございます。 ちなみにこの関数はwinie限定なんでしょうか? ほかのブラウザ(firefox)では動作しませんでした。

関連するQ&A