dispatchEvent 学习笔记

2021-11-23 16:49:29 浏览数 (2)

1. createEvent(eventType)

代码语言:javascript复制
参数:eventType 共5种类型:
        Events :包括所有的事件.
        HTMLEvents:包括 'abort', 'blur', 'change', 'error', 'focus', 'load', 'reset', 'resize', 'scroll', 'select', 'submit', 'unload'.事件
        UIEvents :包括 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'keydown', 'keypress', 'keyup'.间接包含 MouseEvents.
        MouseEvents:包括 'click', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup'.
        MutationEvents: 包括 'DOMAttrModified', 'DOMNodeInserted', 'DOMNodeRemoved', 'DOMCharacterDataModified', 'DOMNodeInsertedIntoDocument', 'DOMNodeRemovedFromDocument', 'DOMSubtreeModified'.

2. 在createEvent后必须初始化,为大家介绍5种对应的初始化方法

  1. HTMLEvents 和 通用 Events: initEvent( 'type', bubbles, cancelable )
  2. UIEvents : initUIEvent( 'type', bubbles, cancelable, windowObject, detail )
  3. MouseEvents: initMouseEvent( 'type', bubbles, cancelable, windowObject, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget )
  4. MutationEvents : initMutationEvent( 'type', bubbles, cancelable, relatedNode, prevValue, newValue, attrName, attrChange )

3. 在初始化完成后就可以随时触发需要的事件了

targetObj.dispatchEvent(event) 使targetObj对象的event事件触发 需要注意的是在IE 5.5 版本上请用fireEvent方法,还是浏览兼容的考虑

4. 更多

不过这个好像已经废弃了,现在推荐Eevent构造函数,查看有关Event的WebAPI,但是 Event构造函数不兼容IE,所以如果要兼容IE的话还是离不开上面的那个

0 人点赞