Saltar al contenido principal
Evented Javascript
RefresherDOM Event Model addEventListener& attachEventjQuery Bind$.bind(‘click’, function(){…})jQuery Shortcuts$.click(function(){…})jQuery Live & Delegate$.live(‘click’, func…), $.delegate(‘#foo’, ‘click’, func…)
More BindCustom Events$.bind(‘closeDialog’, func…)Namespaced Events$.bind(‘click.linkDialog’, func…)$.bind(‘closeDialog.linkDialog’, func…)Bind to Non-DOM Objects$(confluence.linkDialog).bind(‘closeDialog’, func…)$(confluence.linkDialog).trigger(‘closeDialog’)
$.bind as an event modelProvides starting placeMore elaborate event models existMore power affords flexibility but lends itself to poor execution of an event driven design
Other Event ModelsCKEditornode.js
Back to The DOM and jQueryDialog, escape closes dialogAutocomplete, escape closes suggestionsstopPropagation becomes necessaryReturn false is actually evilAssumptions made
Binding to Native EventsBind almost no logic to native events
SourcesTinyMCE.comCKEditor.comnodejs.orgYUI Blog - http://www.yuiblog.com/blog/2007/01/17/event-plan/Event Driven Javascript - http://www.slideshare.net/fgalassi/event-driven-javascript