diff options
author | Dan Wellman <danwellman@hotmail.com> | 2011-11-28 08:38:34 +0000 |
---|---|---|
committer | Dan Wellman <danwellman@hotmail.com> | 2011-11-28 08:38:34 +0000 |
commit | a4fd5449b24b998ffa514f01b735da2b6465a80a (patch) | |
tree | 51b1c2828e85f538775e22cf5e3a930a8c4fe506 /ui/jquery.ui.widget.js | |
parent | fce4725a8ac599efab5449710550a029a2d6fbe3 (diff) | |
parent | 53ea93327e9040b7472e8fd2af2abaea19058e4a (diff) | |
download | jquery-ui-a4fd5449b24b998ffa514f01b735da2b6465a80a.tar.gz jquery-ui-a4fd5449b24b998ffa514f01b735da2b6465a80a.zip |
Merge remote-tracking branch 'upstream/selectmenu' into selectmenu
Diffstat (limited to 'ui/jquery.ui.widget.js')
-rw-r--r-- | ui/jquery.ui.widget.js | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js index 53cde389e..4f47a008b 100644 --- a/ui/jquery.ui.widget.js +++ b/ui/jquery.ui.widget.js @@ -374,37 +374,31 @@ $.Widget.prototype = { }, _trigger: function( type, event, data ) { - var callback = this.options[ type ], - args; + var prop, orig, + callback = this.options[ type ]; + data = data || {}; event = $.Event( event ); event.type = ( type === this.widgetEventPrefix ? type : this.widgetEventPrefix + type ).toLowerCase(); - data = data || {}; + // the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; // copy original event properties over to the new event - // this would happen if we could call $.event.fix instead of $.Event - // but we don't have a way to force an event to be fixed multiple times - if ( event.originalEvent ) { - for ( var i = $.event.props.length, prop; i; ) { - prop = $.event.props[ --i ]; - event[ prop ] = event.originalEvent[ prop ]; + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } } } - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[0]; - this.element.trigger( event, data ); - - args = $.isArray( data ) ? - [ event ].concat( data ) : - [ event, data ]; - return !( $.isFunction( callback ) && - callback.apply( this.element[0], args ) === false || + callback.apply( this.element[0], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } }; |