Page 36 - JavaScript修炼之道
P. 36

任务10  将行为和自定义事件解耦               23


                   监听一个自定义事件


                   // Prototype --通过event.memo传入额外数据
                   $(element).observe('ns:event', handlerFx)
                   document.observe('ns:event', handlerFx)
                   // jQuery -- 通过多余的参数传入额外数据
                   $(elementOrSelector).bind('event', handlerFx)
                   // MooTools -- 通过事件处理器参数传入额外数据
                   Element.Events.event = {};
                   $(element).addEvent('event', handlerFx)
                   // YUI 3 -- 通过事件处理器参数传入额外数据
                   Y.on('event', handlerFx)
                   // Dojo -- 通过事件处理器参数传入额外数据
                   dojo.subscribe('event', context, handlerFx)
                   触发一个自定义事件

                   // Prototype
                   $(element).fire('custom:event');
                   document.fire('custom:event');
                   whichever.fire('custom:event', { foo: 'bar', baz: 42 });
                   // jQuery
                   $(elements).trigger('event')
                   $(elements).trigger('event', { foo: 'bar', baz: 42 });
                   $(elements).trigger('event', ['bar', 42]);
                   // MooTools
                   $(element).fireEvent('event')
                   $(element).fireEvent('event', arg)
                   document.fireEvent('event', [arg1, arg2, arg3])
                   // YUI 3
                   Y.fire('event')
                   Y.fire('event', arg1, arg2, arg3)
                   // Dojo
                   dojo.publish('event')
                   dojo.publish('event', [arg])

               相关任务

                     任务8
   31   32   33   34   35   36   37   38   39   40   41