-3

ページが読み込まれたときに実行される次のスクリプトがあります。

<script language="JavaScript"> 
     j=parseInt(Math.random()*ranobjList.length);
     j=(isNaN(j))?0:j;
     document.write(unescape(ranobjList[j]));
</script>

ボタンがロードされたときではなく、ボタンがクリックされたときに実行するにはどうすればよいですか?

4

2 に答える 2

2

関数に入れ、要素の 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();' />
于 2013-02-03T17:47:21.070 に答える
0

あなたが持っているコード例は、実際にはページの読み込み時に実行されていません。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>
于 2013-02-03T17:49:59.740 に答える