为什么我的自动点击器脚本会出现此未捕获的TypeError?

时间:2017-10-22 01:05:11

标签: javascript

所以,我是JavaScript的新手,我正在尝试制作一个自动点击器脚本。问题是当我在开发者控制台中执行脚本时,我收到一个名为“button.click不是函数”的错误,错误只是永远循环和控制台。这是我的代码:

var button = document.getElementsByClassName("btn btn-default");
setInterval(function(){
    button.click()  
},200)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

document.getElementsByClassName返回一个数组检查这个例子:



<button onclick="onClick()">
&#13;
&#13;
&#13;

答案 1 :(得分:1)

由于specificationgetElementsByClassName返回具有所有给定类名的所有子元素的类数组对象。那么你的&#34;按钮&#34;没有click属性,它是一个数组。你需要一个元素,例如第一个元素:

var button = document.getElementsByClassName("btn btn-default")[0];

但我会说,如果你有一个按钮点击处理程序逻辑并且你想通过某个计时器运行它,那么最好的方法是将该逻辑提取到一个函数中(让它命名为{{1}通过计时器而不是单击事件模拟运行此函数:

onClick

这也意味着您不会使用onclick attr(var onClick = function () { console.log("click!"); // your click hanlder logic }; setInterval(onClick, 200); button.addEventListener("click", onClick); )来绑定处理程序,而是使用addEventListener,这是提供事件处理的首选方式。