ページが読み込まれたときに実行される次のスクリプトがあります。
<script language="JavaScript">
j=parseInt(Math.random()*ranobjList.length);
j=(isNaN(j))?0:j;
document.write(unescape(ranobjList[j]));
</script>
ボタンがロードされたときではなく、ボタンがクリックされたときに実行するにはどうすればよいですか?
ページが読み込まれたときに実行される次のスクリプトがあります。
<script language="JavaScript">
j=parseInt(Math.random()*ranobjList.length);
j=(isNaN(j))?0:j;
document.write(unescape(ranobjList[j]));
</script>
ボタンがロードされたときではなく、ボタンがクリックされたときに実行するにはどうすればよいですか?
関数に入れ、要素の onclick イベントで呼び出します
function myEvent() {
j=parseInt(Math.random()*ranobjList.length);
j=(isNaN(j))?0:j;
document.write(unescape(ranobjList[j]));
}
次に、あなたのhtmlで
<input type='button' value='Click Me' onclick='myEvent();' />
あなたが持っているコード例は、実際にはページの読み込み時に実行されていません。DOM によって解釈されたとおりに実行されます。
しかし、ここにあなたの要求に対する解決策があります。
HTML ボタンは script タグの上にある必要があります。したがって、次のようなものが必要になります。
<input type="button" value="Click me for action" id="actionButton" />
<script type="text/javascript">
document.getElementById("actionButton").addEventListener("click", function() {
j=parseInt(Math.random()*ranobjList.length);
j=(isNaN(j))?0:j;
document.write(unescape(ranobjList[j]));
}, false);
</script>