我有以下加载页面时运行的脚本:
<script language="JavaScript">
j=parseInt(Math.random()*ranobjList.length);
j=(isNaN(j))?0:j;
document.write(unescape(ranobjList[j]));
</script>
如何在单击按钮时执行它,而不是在加载时执行它?
答案 0 :(得分: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();' />
答案 1 :(得分: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>