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