Followup to #8753. Modify new Event constructor signature to jQuery.event(type, props), which can be exploited by jQuery.event.trigger as well.
This commit is contained in:
parent
6d49e84daf
commit
bebd8bc01e
2 changed files with 11 additions and 17 deletions
24
src/event.js
24
src/event.js
|
@ -304,9 +304,9 @@ jQuery.event = {
|
|||
// jQuery.Event object
|
||||
event[ jQuery.expando ] ? event :
|
||||
// Object literal
|
||||
jQuery.extend( new jQuery.Event(type), event ) :
|
||||
new jQuery.Event( type, event ) :
|
||||
// Just the event type (string)
|
||||
new jQuery.Event(type);
|
||||
new jQuery.Event( type );
|
||||
|
||||
event.type = type;
|
||||
event.namespace = namespaces.join(".");
|
||||
|
@ -563,26 +563,15 @@ jQuery.removeEvent = document.removeEventListener ?
|
|||
}
|
||||
};
|
||||
|
||||
jQuery.Event = function( src ) {
|
||||
jQuery.Event = function( src, props ) {
|
||||
// Allow instantiation without the 'new' keyword
|
||||
if ( !this.preventDefault ) {
|
||||
return new jQuery.Event( src );
|
||||
return new jQuery.Event( src, props );
|
||||
}
|
||||
|
||||
// Event object
|
||||
if ( src && src.type ) {
|
||||
this.originalEvent = src;
|
||||
|
||||
// Push explicitly provided properties onto the event object
|
||||
for ( var prop in src ) {
|
||||
// Ensure we don't clobber jQuery.Event prototype
|
||||
// with own properties.
|
||||
if ( hasOwn.call( src, prop ) ) {
|
||||
this[ prop ] = src[ prop ];
|
||||
}
|
||||
}
|
||||
|
||||
// Always ensure a type has been explicitly set
|
||||
this.type = src.type;
|
||||
|
||||
// Events bubbling up the document may have been marked as prevented
|
||||
|
@ -595,6 +584,11 @@ jQuery.Event = function( src ) {
|
|||
this.type = src;
|
||||
}
|
||||
|
||||
// Put explicitly provided properties onto the event object
|
||||
if ( props ) {
|
||||
jQuery.extend( this, props );
|
||||
}
|
||||
|
||||
// timeStamp is buggy for some events on Firefox(#3843)
|
||||
// So we won't rely on the native value
|
||||
this.timeStamp = jQuery.now();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue