通常我们在写JS代码时,如果遇到事件需要触发函数,我们通常要返回网页去触发这个事件,显得逼格很low而且效率不高。
今天发现了一种可以在js代码中模拟事件操作的方法。
前端html代码如下
<button id="btn">点我</button>
很简单的一个id为btn的按钮
JS代码如下
var btn =document.getElementById('btn')
btn.addEventListener("click", function () {
window.alert(1)
})
var moni = document.createEvent("MouseEvent")
moni.initMouseEvent('click')
btn.dispatchEvent(moni)
前面自然不用说,获取id为btn的按钮节点,添加事件。之后创建鼠标事件对象。指定鼠标事件对象的触发事件为click。
最后用按钮节点匹配该事件。
完毕!