一旦创建了一个事件对象,就要初始化这个事件的相关信息,每一种类型的事件都有特定的方法来初始化,在创建完事件对象之后,通过dispatchEvent()方法来将事件应用到特定的dom节点上,以便其支持该事件。这个dispatchEvent()事件,支持一个参数,就是你创建的event对象。
像Safari不支持非button元素的click事件,就要通过这个函数来派发click事件给元素以便支持
function dispatch(el, type){
try{
var evt = document.createEvent('Event')
evt.initEvent(type,true,true)
el.dispatchEvent(evt)
}catch(e){
alert(e)
}
}
var btn1 = document.getElementById('btn1')
dispatch(btn1, 'click')
这需要在request.ts中调用umiJS的dispatch函数。脱离了hock文件使用dva的dispatch函数,怎么搞?
可以用过 umi 暴露的 getDvaApp 方法获取 dva 实例,再获取 dispatch 方法,如下所示: