我有一个脚本检查图像,然后加载页面(如果已找到)。
我正在尝试将该功能附加到按钮,以便它只检查何时按下按钮而不是页面加载。
<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>
答案 0 :(得分:2)
您正在调用函数而不是传递函数引用:
window.onclick=ImgLoad()
应该是:
window.onclick=ImgLoad
否则ImgLoad
函数会立即运行。
我应该说将onclick
添加到window
可能不是最好的设计(取决于你在做什么)。通常,您会查找button
(可能是id)并仅将点击处理程序附加到该特定button
。
在旁注中,看起来其他window.onclick
事件也设置为调用函数的结果:
window.onclick=encaseimage()}, 1000);
window.setTimeout(function(){window.onclick=autoc()},
您可能也想查看这些内容。 :)
答案 1 :(得分:0)
如果要在按钮上单击加载图像,则需要将其附加到按钮单击事件。
喜欢
$("#ImgLoad").click(function(){
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";}
});