我有一个脚本,用于检查图像,然后在找到图像时加载页面。
我正在尝试将该函数附加到按钮,以便它仅在按下按钮时进行检查,而不是在页面加载时进行检查。
<input type="button" id="ImgLoad" value="Check connection">
目前,页面在加载时重定向,并且不附加到按钮按下。我正在努力找出哪里出了问题。
<script>
networkdelay = window.setTimeout(function()
{window.onclick=encaseimage()}, 1000);
</script>
<script>
clickdelay = window.setTimeout(function(){window.onclick=autoc()},
1000);
</script>
<script>
function encaseimage(){
function ImgLoad(myobj){
var randomNum = Date.now() || new Date().getTime();
var oImg=new Image;
oImg.src="http://192.168.8.1/images/ping2.jpg"+"?rand="+randomNum;
oImg.onload=function(){window.location.href = "/status.html";}
}
networkchecker = window.setInterval(function()
{window.onclick=ImgLoad()},1000);
}
</script>
最佳答案
您正在调用该函数而不是传递函数引用:
window.onclick=ImgLoad()
应该是:
window.onclick=ImgLoad
否则,ImgLoad
函数会立即运行。
我应该说,将 onclick
添加到 window
可能不是最好的设计(取决于您在做什么)。通常,您会查找按钮
(可能通过id)并将单击处理程序仅附加到该特定的按钮
。
顺便说一句,其他 window.onclick
事件似乎也设置为调用函数的结果:
window.onclick=encaseimage()}, 1000);
window.setTimeout(function(){window.onclick=autoc()},
您可能也想查看这些内容。 :)
关于javascript - 仅在按下按钮时运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44650020/