Simple event handling functions. Based on dojo/on.
The on module is used to listen for events.
define(function(require){varon=require('frozen-on');varbutton=document.createElement('button');on(button,'click',function(e){// do something with event});});Calling on returns an object containing a remove method, which removes the event handler.
define(function(require){varon=require('frozen-on');varbutton=document.createElement('button');varremover=on(button,'click',function(e){// do something with eventremover.remove();});});It can use extension events, also.
define(function(require){varon=require('frozen-on');vartap=require('dojo/gesture/tap');varbutton=document.createElement('button');on(button,tap,function(e){// do something with event});});on.once provides a way to listen to an event one time (automatically removes the handler after first call).
define(function(require){varon=require('frozen-on');varbutton=document.createElement('button');on.once(button,'click',function(e){// do something with event});});on.pausable behaves as a normal on call, but the returned object has pause and resume methods, too.
Calling pause stops the event handler callback from being called, while calling resume starts it again.
define(function(require){varon=require('frozen-on');varbutton=document.createElement('button');varpauser=on.pausable(button,'click',function(e){// do something with eventpauser.pause();setTimeout(function(){pauser.resume();},1500);});});The emit module is used for publishing events.
define(function(require){varemit=require('frozen-on/emit');varbutton=document.createElement('button');emit(button,'click',{cancelable: true,bubbles: true,screenX: 33,screenY: 44});});A Class that exposes on and emit methods on the object.
varEvented=require('frozen-on/Evented');varobj=newEvented();obj.on('open',function(e){// do something with event});obj.emit('open',{name: 'foo'});