- ベストアンサー
function名の変更はできますか?
はじめまして。 JavaScript初心者です。 onclick時にその中にあるfunction名の変更をしたいのですが、どうしてもできません。 下記のように記述していますが、問題点、やり方など教えてほしいです。 document.name.onclick="function名"; よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じで・ 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>
その他の回答 (3)
- yambejp
- ベストアンサー率51% (3827/7415)
あまり動的に関数名までいじってしまうと メンテナンス性が落ちる可能性もあります。 できるできないは他の回答者さんの回答を 適切に判断いただければとは思いますが、 実質受け渡すパラメータを調整して 関数内で分岐した方がひいては作り側の作業軽減に もつながるような気がします。
お礼
ご指摘ありがとうございます。 本来ならそのほうが望ましいのですが、 自分が勉強不足なため効率が悪くなってしまいました。
- akanekor
- ベストアンサー率52% (102/194)
>ちなみにこの関数はwinie限定なんでしょうか? >ほかのブラウザ(firefox)では動作しませんでした。 http://www.kawaz.jp/pukiwiki/?JavaScript%A5%E1%A5%E2 の一番下参考 面倒なら、No2さんのやり方で。
お礼
なるほど。 完全に理解するには まだまだ勉強が必要ですね。 ありがとうございました。
- akanekor
- ベストアンサー率52% (102/194)
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>
お礼
できました! ありがとうございます。 ちなみにこの関数はwinie限定なんでしょうか? ほかのブラウザ(firefox)では動作しませんでした。
お礼
なるほど、これならいけそうですね。 ありがとうございます。