事件自动触发

在JQ里有一个trigger()方法可以使事件自动触发

原生怎么搞?

1. element.dispatchEvent()
对于标准浏览器,其提供了可供元素触发自定义事件的方法:element.dispatchEvent().。
在IE6/7/8则使用 fireEvent()方法

在使用dispatchEvent前需要先创建和初始化

2. createEvent()
createEvent()方法返回新创建的Event对象
参数事件接口初始化方法
HTMLEvent事件HTMLEventinitEvent()
MouseEvents事件MouseEventinitMouseEvent()
UIEvents事件UIEventinitUIEvent()
HTMLEvent包括:abort,blur,change,error,focus,reset,resize,scroll,select,submit,unload等事件
MouseEvent包括:click,mousedown,mouseover,mouseout,mouseup.mouseleave
UIEvent包括:keydowm,keypress,keyup…
3. initEvent(eventType,canBubble,cancelable)
参数描述
eventType字符串值。事件的类型。
canBubble事件是否起泡。
cancelable是否可以用 preventDefault() 方法取消事件。
4. dispatchEvent()

dispatchEvent()就是触发执行了,dom.dispatchEvent(eventObject)
参数eventObject表示事件对象,是createEvent()方法返回的创建的Event对象。

examaple:
 // 创建事件
var click = document.createEvent("clikc")
// 初始化事件
click.initEvent("MouseEvent",true,true)
// 触发
element.dispatchEvent(click)

更多推荐