Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript自动单击子节点元素_Javascript_Html_Click - Fatal编程技术网

JavaScript自动单击子节点元素

JavaScript自动单击子节点元素,javascript,html,click,Javascript,Html,Click,我一直在无休止地寻找一种工作方式,使用javascript(我正在制作一个用户脚本)自动地在特定元素上单击鼠标。结构如下所示: <div id="elementContainer"> <div class="item1" style="width: 50px; height: 50px;">AutoClick Here!</div> </div> 自动点击这里! item1是我想要自动点击的东西。我尝试过很多方法,例如获取元素并在其上创建

我一直在无休止地寻找一种工作方式,使用javascript(我正在制作一个用户脚本)自动地在特定元素上单击鼠标。结构如下所示:

<div id="elementContainer">
  <div class="item1" style="width: 50px; height: 50px;">AutoClick Here!</div>
</div>

自动点击这里!
item1是我想要自动点击的东西。我尝试过很多方法,例如获取元素并在其上创建/初始化/发送“click”事件、调用.click()等,但老实说,我对javascript不太熟悉,不知道自己在做什么

我可以很高兴地获取元素并对其进行更改(如更改innerHTML),但我也希望能够模拟/自动单击它。如能就如何进行提供任何建议,我将不胜感激

非常感谢

调用元素应该可以正常工作

var container = document.getElementById('elementContainer'),
    innerDiv = container.getElementsByClassName('item1');
    
innerDiv.click();

也就是说:

单击方法用于按钮、复选框、单选、重置或提交类型的输入元素。Gecko不会在其他元素上实现click方法,这些元素可能会响应鼠标单击,例如链接(A元素),也不一定会触发其他元素的click事件

非壁虎DOM的行为可能不同

当单击与支持它的元素(例如,上面列出的输入类型之一)一起使用时,它还会触发元素的单击事件,该事件将冒泡到文档树(或事件链)更高的元素,并触发其单击事件。但是,click事件的冒泡将不会导致a元素启动导航,就像接收到真实的鼠标单击一样


您是否已将任何单击事件处理程序绑定到该

阅读:

。单击()仅适用于某些标记,主要是输入。如果需要解决简单任务,可以使用AutoIT而不是javascript。否则,您将需要触发click事件。click可能正在工作,但div元素上没有默认的click事件。您是否尝试过将自己的单击事件绑定到div?也许,这对jQ有效。在用户脚本中使用纯JS是行不通的。Firebug(在此页面上):$$('div').forEach(函数(div){if(div.click)console.log(div);});->对象上没有单击处理程序,类似于:
$('container')。addEventListener('click',handleMouseClick,false)
这对手动触发事件有影响吗?@Steven,您可以自己调用事件处理程序:
handleMouseClick.apply($('container'))
,也可以。谢谢Matt,这种方法的新问题是,当我试图创建一个用户脚本时,我的javascript代码与网站上运行的javascript代码(包含handleMouseClick代码)是分开的!我不确定如何/是否可以从我自己的代码中引用这样的函数。