我有以下在页面加载时运行的脚本:
<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 按钮必须位于脚本标记之上。所以你会想要这样的东西:
<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>