- Getting Started
- edpx-mobile v1.0.0
- rebas
- rider
- saber-ajax
- saber-cookie
- saber-dom
- saber-emitter
- saber-env
- saber-fastbutton
- saber-firework
- saber-firework v2.0.0
- saber-firework v2.0.0-beta.2
- saber-firework v2.0.0-beta.1
- saber-firework v2.0.0-alpha.2
- saber-firework v2.0.0-alpha.1
- saber-firework v1.0.0
- saber-firework v0.4.2
- saber-firework v0.4.1
- saber-firework v0.4.0
- saber-firework v0.3.2
- saber-firework v0.3.1
- saber-firework v0.3.0
- saber-firework v0.2.6
- saber-firework v0.2.5
- saber-firework v0.2.4
- saber-firework v0.2.1
- saber-firework v0.2.0
- saber-firework v0.1.0-beta.4
- saber-firework v0.1.0-beta.3
- saber-firework v0.1.0-beta.1
- saber-geo v0.1.0
- saber-lang
- saber-log v0.1.0
- saber-matchmedia
- saber-mm
- saber-promise
- saber-promise v2.1.0
- saber-promise v2.0.0
- saber-promise v2.0.0-beta.1
- saber-promise v2.0.0-alpha.3
- saber-promise v2.0.0-alpha.2
- saber-promise v2.0.0-alpha.1
- saber-promise v1.0.2
- saber-promise v1.0.0
- saber-promise v0.1.2
- saber-promise v0.1.2-beta.3
- saber-promise v0.1.2-beta.2
- saber-promise v0.1.2-beta.1
- saber-promise v0.1.1
- saber-promise v0.1.0
- saber-rainbow
- saber-router
- saber-router v2.0.0
- saber-router v2.0.0-beta.1
- saber-router v2.0.0-alpha.2
- saber-router v2.0.0-alpha.1
- saber-router v1.0.0
- saber-router v0.2.4
- saber-router v0.2.3
- saber-router v0.2.2
- saber-router v0.2.1
- saber-router v0.2.0
- saber-router v0.1.0
- saber-router v0.1.0-beta.5
- saber-router v0.1.0-beta.4
- saber-router v0.1.0-beta.3
- saber-router v0.1.0-beta.2
- saber-router v0.1.0-beta.1
- saber-run
- saber-scroll
- saber-storage
- saber-string
- saber-tap
- saber-uri
- saber-viewport
- saber-viewport v1.1.0
- saber-viewport v1.0.0
- saber-viewport v0.2.12
- saber-viewport v0.2.11
- saber-viewport v0.2.10
- saber-viewport v0.2.9
- saber-viewport v0.2.8
- saber-viewport v0.2.6
- saber-viewport v0.2.5
- saber-viewport v0.2.1-beta.7
- saber-viewport v0.2.1-beta.6
- saber-viewport v0.2.1-beta.5
- saber-viewport v0.2.1-beta.4
- saber-viewport v0.2.1-beta.3
- saber-viewport v0.2.1-beta.2
- saber-viewport v0.2.1-beta.1
- saber-viewport v0.2.0
- saber-viewport v0.1.0
- saber-widget
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
saber-emitter v0.4.0
一个适用于移动端的事件发射器。
Usage
通过edp
引入模块:
edp import saber-emitter
简单使用示例:
require( [ 'saber-emitter' ], function( Emitter ) { var emitter = new Emitter(); emitter.on( 'greeting', function( name ) { console.log( 'Hello, ' + name + '!' ); }); emitter.emit( 'greeting', 'Firede' ); });
API
Emitter
new Emitter
创建Emitter
实例。
var emitter = new Emitter();
Emitter.mixin( obj )
通过mixin
将Emitter
混入目标对象。
var obj = {}; Emitter.mixin( obj ); obj.emit( 'foo' );
Emitter#on( event, listener )
挂载事件。
function listenerFn( name ) { console.log( 'Hello ' + name ); } emitter.on( 'say', listenerFn );
Emitter#once( event, listener )
挂载只执行一次的事件。
emitter.once( 'say', listenerFn );
Emitter#off( event, listener )
注销事件与监听器。
- 任何参数都
不传
将注销当前实例的所有事件 - 只传入
event
将注销该事件下挂载的所有监听器 - 传入
event
与listener
将只注销该监听器
emitter.off(); emitter.off( 'say' ); emitter.off( 'say', listenerFn );
Emitter#emit( event, args… )
触发事件。
emitter.emit( 'say' ); emitter.emit( 'say', 'hello' );
Emitter#listeners( event )
返回指定事件的监听器列表。
var listeners = emitter.listeners( 'say' );
Emitter#setMaxListeners( number )
设置每个事件下,监听器的最大个数。为 0
时不限制,默认值是 10
。
emitter.setMaxListeners( 8 );
AspectEmitter
提供了 AOP
支持的事件发射器。
它的使用方式与 Emitter
相同,只是在 emit
增加了对 :before
、:after
事件的支持。
注:在事件 on
、off
、once
时,带 :before
/:after
的事件与普通事件无区分,均需手工管理。
var AspectEmitter = require('saber-emitter/aspect'); var emitter = new AspectEmitter(); // 绑定 before、after 事件 emitter.on('foo', doSomething); emitter.on('foo:before', doSomething); emitter.on('foo:after', doSomething); emitter.emit('foo'); // => 按 foo:before, foo, foo:after 顺序触发 emitter.emit('foo:before'); // => 单独触发 foo:before 事件 // 手工解绑事件 emitter.off('foo'); emitter.off('foo:before'); emitter.off('foo:after');
Browser Support
已测试通过的浏览器:
- iOS Safari: 5.0, 5.1, 6.0, 6.1, 7.0
- Android Browser: 2.2, 2.3.3, 4.1
- IE Mobile: 10
,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论