JavaScript 中的dispatchEvent是怎么用的?

JavaScript086

JavaScript 中的dispatchEvent是怎么用的?,第1张

其实就是绑定事件。

一旦创建了一个事件对象,就要初始化这个事件的相关信息,每一种类型的事件都有特定的方法来初始化,在创建完事件对象之后,通过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 方法,如下所示: