0
|
1 //>>excludeStart("exclude", pragmas.exclude);
|
|
2 define([ "shoestring" ], function(){
|
|
3 //>>excludeEnd("exclude");
|
|
4
|
|
5 /**
|
|
6 * Trigger an event on the first element in the set, no bubbling, no defaults.
|
|
7 *
|
|
8 * @param {string} event The event(s) to trigger.
|
|
9 * @param {object} args Arguments to append to callback invocations.
|
|
10 * @return shoestring
|
|
11 * @this shoestring
|
|
12 */
|
|
13 shoestring.fn.triggerHandler = function( event, args ){
|
|
14 var e = event.split( " " )[ 0 ],
|
|
15 el = this[ 0 ],
|
|
16 ret;
|
|
17
|
|
18 // See this.fireEvent( 'on' + evts[ i ], document.createEventObject() ); instead of click() etc in trigger.
|
|
19 if( doc.createEvent && el.shoestringData && el.shoestringData.events && el.shoestringData.events[ e ] ){
|
|
20 var bindings = el.shoestringData.events[ e ];
|
|
21 for (var i in bindings ){
|
|
22 if( bindings.hasOwnProperty( i ) ){
|
|
23 event = doc.createEvent( "Event" );
|
|
24 event.initEvent( e, true, true );
|
|
25 event._args = args;
|
|
26 args.unshift( event );
|
|
27
|
|
28 ret = bindings[ i ].originalCallback.apply( event.target, args );
|
|
29 }
|
|
30 }
|
|
31 }
|
|
32
|
|
33 return ret;
|
|
34 };
|
|
35
|
|
36 //>>excludeStart("exclude", pragmas.exclude);
|
|
37 });
|
|
38 //>>excludeEnd("exclude");
|