发布2.2.0
mini-event是一个简单的工具库,用于为任何系统提供事件相关的功能集,包括:
Event
preventDefault
stopPropagation
stopImmediatePropagation
cd {mini-event} npm i -g esdoc esdoc -c esdoc.json open doc/index.html
在mini-event模型中,事件共分为2类。
命名事件是最普通的事件,指一个带有名字的事件。当使用.fire(eventName)方法触发事件时,其中的eventName指定事件名称,对应名称符合的命名事件将被触发。
.fire(eventName)
eventName
全局事件是名称为*的事件,当任何事件被触发时,全局事件均会被触发。
*
开发者不能直接触发全局事件,使用.fire('*')触发全局事件将会得到异常结果。
.fire('*')
全局事件一定在命名事件均触发完毕后触发。
全局事件触发时,事件对象的type属性值为事件的原始名称,而非*。
type
不同类型的事件按以下顺序执行:
以上2步中,每一步对应的所有事件处理函数的执行有如下特征:
.stopImmediatePropagation()
当一个命名事件触发时,如果处理函数A在执行时移除了全局事件中的处理函数B,则由于B还未被执行,因此后续的全局事件中的处理函数B将不会再被执行。
如果一个事件在命名事件触发时被执行,则其在全局事件被触发时依旧可能被执行。命名事件与全局事件不存在去重的关系。
polyfill
Event.fromDOMEvent
EventTarget.enable
onxxx
dist
Object.prototype
main
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
mini-event
mini-event是一个简单的工具库,用于为任何系统提供事件相关的功能集,包括:
Event事件对象。preventDefault)、停止冒泡(stopPropagation)、阻止后续处理(stopImmediatePropagation)功能。文档
事件类型
在mini-event模型中,事件共分为2类。
命名事件
命名事件是最普通的事件,指一个带有名字的事件。当使用
.fire(eventName)方法触发事件时,其中的eventName指定事件名称,对应名称符合的命名事件将被触发。全局事件
全局事件是名称为
*的事件,当任何事件被触发时,全局事件均会被触发。开发者不能直接触发全局事件,使用
.fire('*')触发全局事件将会得到异常结果。全局事件一定在命名事件均触发完毕后触发。
全局事件触发时,事件对象的
type属性值为事件的原始名称,而非*。事件处理函数
不同类型的事件按以下顺序执行:
以上2步中,每一步对应的所有事件处理函数的执行有如下特征:
.stopImmediatePropagation()方法,则后续的处理函数均不会被执行。当一个命名事件触发时,如果处理函数A在执行时移除了全局事件中的处理函数B,则由于B还未被执行,因此后续的全局事件中的处理函数B将不会再被执行。
如果一个事件在命名事件触发时被执行,则其在全局事件被触发时依旧可能被执行。命名事件与全局事件不存在去重的关系。
2.0版本变更
polyfill和编译转换,推荐使用babel进行编译。Event.fromDOMEvent方法。EventTarget.enable方法。onxxx方法)的支持。2.1版本变更
dist目录放置使用UMD编译后的代码。Object.prototype继承。2.2版本变更
main模块修改为ES6(以前忘记了- -)。