如何在第一次触发后停止触发点击事件?

时间:2015-01-29 23:18:09

标签: javascript jquery html

在我的网站上使用触发点击(不是因为该错误而在网站上)。

网站:3six-d.co.uk

setTimeout(function() {
    $('a[href$="#about"]').trigger('click');
}, 5000);

然而,正如你可能猜到的那样,这很好。在有人单击Enter按钮超过5秒之前,他们会转到另一个选项卡。说我点击进入然后转到联系表格。 5秒后,它会将我重定向回到我们身边。如果有一种方法,如果用户已经点击进入它会停止触发?

由于

3 个答案:

答案 0 :(得分:2)

你可以试试这个

var isClicked = false;
setTimeout(function() {
    if (!isClicked) {
      isClicked = true;
      $('a[href$="#about"]').trigger('click');
    }
}, 5000);

使用前一种方法,您可以保证点击仅触发一次。无论用户点击的频率如何。

答案 1 :(得分:0)

单击触发器后设置为true的全局布尔变量怎么样?如果全局布尔值为true,则不允许再次运行触发器事件。并且,当全局设置为true时,会启动另一个计时器,在五六秒后将其重置为false?

答案 2 :(得分:0)

检测用户何时点击"输入"按钮(查看,轻松)然后使用以下方法清除超时:

var id = window.setTimeout(function() {}, 0);

while (id--) {
    window.clearTimeout(id);
}