• 締切済み

関数内でonclickをさせたい

以下に示すような動作をさせたいのですが、手段はあるでしょうか? ご教示の方よろしくお願いいたします。 <html> <head> <script type="text/javascript"> function test1(){ ここでtest2というリンクをクリックしたことにしたい。 document.getElementById("test2").onclickとか勘でやってみたけどダメでした。 } </script> </head> <body> <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="hoge.html" id="test2">test2</a> </body> </html>

みんなの回答

  • think49
  • ベストアンサー率59% (285/482)
回答No.6

質問者さんのHTMLなら以下のコードで動くこと確認しました。 ---- <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="hoge.html" id="test2">test2</a> <script type='text/javascript'> function test1(){ location.href=document.getElementById("test2").href; } </script> ---- > document.getElementById("test2").onclick とか勘でやってみたけどダメでした。 document.getElementById("test2").onclick() は <a href="hoge.html" id="test2">test2</a> にも onclickが定義されていないと働きません。 ---- <img id="test1" src="test.gif" onclick="document.getElementById('test2').onclick();"> <a id="test2" href="test.html" onclick="test2();">test2</a> <script type='text/javascript'> function test2(){ location.href=document.getElementById('test2').href; } </script> ---- これで動きますが、これなら両方とも test2() を実行した方がスマートですね。

回答No.5

<html> <head> <script type="text/javascript"> window.onload=function(){ document.getElementById("test2").onclick=Test2_wo_click; } function Test2_wo_click(){ window.location="hoge.html"; } function test1(){ document.getElementById("test2").onclick(); } </script> </head> <body> <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="javascript:Test2_wo_click()" id="test2">test2</a> </body> </html>

  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.4

test1がリンクに飛ぶだけの処理だとすれば一般的なのは <a href="hoge.html"><img src="hoge.jpg"></a>

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

リンク先に飛びたいというなら一工夫 function test1(){ var tag=document.getElementById("test2"); if(tag.nodeName=="A") location.href=tag.href; }

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

フォームの部品なら ~.click() でいいんだけど、リンクに効くものがあるかどうかはわからない。 一部ブラウザはclick()がリンクにも効くみたいだけど。

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

onclickに「()」が抜けてる。 onclick();

shizer
質問者

補足

()をつけて確認してみましたができませんでした。引き続きどなたかご教示よろしくお願い致します。

関連するQ&A