javascript - 仅在按下按钮时运行函数

标签 javascript jquery html

我有一个脚本,用于检查图像,然后在找到图像时加载页面。

我正在尝试将该函数附加到按钮,以便它仅在按下按钮时进行检查,而不是在页面加载时进行检查。

<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/

相关文章:

html - 拉伸(stretch)图像以适应特定的 div

javascript - 使用 HTML5 视频检测帧精确搜索

javascript - 如何在javascript中选择所有复选框?

javascript - 使用 Javascript 计算方程

javascript - jquery 使用自动竞争。我想添加异步来消除渲染阻塞

jquery - jquery 函数中的 this.element 是什么?

javascript - 如何通过 wordpress rest api 从自定义表中获取所有记录?

javascript - 将字符串 '+' 转换为 + 运算符

javascript - 更改样式表中数据 URL 加载的 SVG 图像的填充颜色

javascript - 使用数据表单列过滤时如何忽略隐藏列