我试图用.click()
单击Medium的拍手按钮。
这是我尝试过的:
在a medium post上,我运行let btn = document.getElementsByClassName('clapButton')[0];
以获得拍手按钮,然后运行btn.click();
。
检查按钮后,它没有onclick事件,所以我不确定是否获取了错误的元素,或者是否有其他触发它的方法。
是否有一些jquery代码或将事件附加到按钮的方式有所不同?谢谢!
编辑
抱歉缺少详细信息,我正在尝试通过firefox扩展名运行代码。该代码也无法通过firefox开发人员控制台运行(我在上面运行了代码)。我不确定为什么它似乎可以在Chrome上正常运行。
最佳答案
您的问题很模糊,但我会尝试从多个角度解决。
一:如果您检查btn.onclick
的值并得到null
或undefined
,这并不一定意味着该按钮没有单击处理程序。有两种将事件侦听器添加到元素的方法:
btn.onclick = function() { ... };
btn.addEventListener('click', function() { ... });
在后一种情况下,该函数将不会分配给元素的
onclick
属性。 addEventListener
实际上可以用于将多个侦听器添加到同一对象,所有这些侦听器都将在事件发生时触发。第二:按钮本身也可能根本没有任何单击处理程序。但是,如果有任何祖先,那么单击该按钮时也会触发这些处理程序。如果您想阅读它,则称为事件传播或冒泡。
关于javascript - 尝试click()没有onclick事件的按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49537828/