如何在JavaScript代码中执行onclick方法,5秒倒计时结束按钮启用后触发点击
代码修改方案
你只需要在原有倒计时归0的逻辑分支中,添加触发点击事件的代码即可,完整修改后的代码如下:
HTML代码(无需改动)
<a href="#" id="downloadvideo" onclick="OpenInNewTab();" class="btn btn-primary btn-lg">Download Video</a>
修改后的JavaScript代码
<script> var towait = 5; var selector = "#downloadvideo"; function counter() { if (towait == 0) { $(selector).text("Start Download"); var srclink = '<?= $url;?>'; $(selector).attr('href', srclink).prop('href', srclink).prop('disabled', false); // 新增:自动触发绑定的onclick事件 OpenInNewTab(); // 若需要触发所有绑定到该元素的点击事件,可替换为下面的写法 // $(selector).trigger('click'); return; } $(selector).text("Wait " + towait + " s").prop('disabled', true); towait--; setTimeout(counter, 1000); } // 若不需要用户点击才启动倒计时,而是页面加载就自动开始倒计时,可删除下面这行点击绑定,直接调用counter() $(selector).one('click', function(e) { counter(); return false; }); </script>
额外说明
- 原生
<a>标签不支持disabled属性,如果你需要完全阻止倒计时过程中用户点击触发跳转,可以额外加类名配合CSS拦截点击,或者在点击事件中判断towait的值做拦截。 - 如果你需要页面加载后自动开始倒计时,不需要用户首次点击触发,直接删除上述代码中的点击事件绑定,在JS末尾新增一行
counter();即可。
内容的提问来源于stack exchange,提问作者Dinesh chandra
相关产品推荐
相关产品推荐

