为什么我的js一开始需要点击两次才能触发,之后点击一次就可以了。麻烦帮忙解决一下。

JavaScript07

为什么我的js一开始需要点击两次才能触发,之后点击一次就可以了。麻烦帮忙解决一下。,第1张

第一次点击 执行a函数(里面又重新给a标签定义了点击事件)

第二次点击 就会触发a函数里重新定义的点击事件了

可以把a标签的 onclick="a()" 都删掉

然后a函数里的代码直接拿出来,相当于页面加载的时候就执行了

第一次把

<a id="excel" href="javascript:downExcel()">数据Excel下载</a>

变成了

<a href="intercalateMetaName.do?type=excelDataEduce">数据Excel下载</a>

这个过程是触发downExcel()方法。但此时只是改变了href所以你会发现根本没下载。

当在点的时候才是下载的URL。

所以直接改为

<a href="intercalateMetaName.do?type=excelDataEduce">数据Excel下载</a>

在点击事件外面定义两个全局变量,一个是开始时间,一个是结束时间。点击一次记录一下当前时间。点击事件中先判断一下开始时间是否为空,为空时就把当前时间赋给开始时间(说明是第一次点击),否则就是第二次点击,把当前时间赋值给结束时间。第二次点击时就可以用结束时间减去开始时间,得到两次点击的时间间隔。【仅提供思路】