-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 按钮必须位于脚本标记之上。所以你会想要这样的东西:

<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 回答