每秒单击一次按钮事件

时间:2019-09-06 16:21:09

标签: javascript

我正在尝试每秒执行一次“点击”事件。我可以创建一个每秒运行一次的函数,但实际上不执行“ click”事件。我在这里做些蠢事吗?感觉这应该是一个轻松的成就。

我收到以下错误:“未捕获的TypeError:无法读取null的属性'click'”

为什么会发生此错误,如何解决?我只想对click进行编程,而不必手动单击按钮,而另一个Stack Overflow帖子建议仅使用.click()。

感谢您的帮助...

function click_fn() {
  console.log('button clicked...');
}


function yourFunction(){
    //console.log('testy');
    document.querySelector('tes').click();

    setTimeout(yourFunction, 1000);
}

yourFunction();
<button class='tes' onclick='click_fn()'>test</button>

2 个答案:

答案 0 :(得分:2)

错误描述性很强,document.querySelector('tes')返回null,因此.click无法解析为null,因此错误

“未捕获的TypeError:无法读取null的属性'click'”

这是一个有效的代码段(基于JamesT的评论)

function click_fn() {
  console.log('button clicked...');
}


function yourFunction(){
    // console.log('testy');
    document.querySelector('.tes').click();

    setTimeout(yourFunction, 1000);
}

yourFunction();
<button class='tes' onclick='click_fn()'>test</button>

答案 1 :(得分:2)

如果您尝试通过class selector选择一个元素,则需要在其前面加上一个.<classname>

function click_fn() {
  console.log('button clicked...');
}


function yourFunction(){
    //console.log('testy');
    document.querySelector('.tes').click(); // Add . prefix

    setTimeout(yourFunction, 1000);
}

yourFunction();
<button class='tes' onclick='click_fn()'>test</button>