Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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为div元素触发事件侦听器?_Javascript_Html - Fatal编程技术网

如何使用Javascript为div元素触发事件侦听器?

如何使用Javascript为div元素触发事件侦听器?,javascript,html,Javascript,Html,我想使用javascript模拟点击页面上的“下载……的CSV数据”按钮。问题是按钮是带有事件侦听器的,而不是或 我假设我必须使用document.dispatchEvent(),但我不知道该放什么参数。我将感谢任何帮助 您可以在div中添加一个Id,然后执行以下操作: HTML: 您可以使用触发事件 //http://youmightnotneedjquery.com/#trigger_native 常量triggerNative=(el,eventName)=>{ const event

我想使用javascript模拟点击页面上的“下载……的CSV数据”按钮。问题是按钮是带有事件侦听器的
,而不是

我假设我必须使用
document.dispatchEvent()
,但我不知道该放什么参数。我将感谢任何帮助


您可以在div中添加一个Id,然后执行以下操作:

HTML:


您可以使用触发事件

//http://youmightnotneedjquery.com/#trigger_native
常量triggerNative=(el,eventName)=>{
const event=document.createEvent('HTMLEvents');
initEvent(eventName,true,false);
el.调度事件(事件);
};
const btn=document.querySelector(“#historical aqidata.primary.button”);
const handleClick=e=>console.log('clicked button…');
btn.addEventListener('click',handleClick);//预先存在的事件侦听器
triggerNative(btn,'点击');//调用事件
html,
身体{
宽度:100%;
身高:100%;
填充:0;
保证金:0;
}
#历史阿奇达{
宽度:100%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.按钮{
显示器:flex;
填充:1em;
边界半径:0.5em;
字体大小:粗体;
光标:指针;
}
.小学{
背景#0085D6;
颜色:#FFFFFF;
}
.primary:悬停{
背景:ƣed3;
颜色:#FFFFFF;
}
.作为控制台包装{最大高度:5em!重要;}

下载首尔的SCV数据

我总是建议参考API参考

dispatchEvent
用于要在其上模拟某物的元素;在您的例子中,您的
div
是您的目标,因为您希望模拟
单击它

这就是
dispatchEvent
API的使用方式:

constdiv=document.getElementById('my-div');
div.dispatchEvent(新事件(“单击”);

不需要使用
dispatchEvent
API,只需使用本机的
div.addEventListener('click',()=>//做点什么)
就可以了,这是因为可以单击div,就像按钮一样,只是默认情况下它们无法聚焦。

应该传递给
dispatchEvent
函数的参数是
事件。我建议您这样使用它:
div.dispatchEvent(新事件(“单击”/*您可以传递任何事件,即使它是自定义事件*/))`
<div id="myBtn"></div>
document.getElementById("myBtn").addEventListener("click", function() {
  //write your functionality here
});