mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix #9593. Create a new jQuery.Event rather than a plain object when simulate()ing events. Fix a related issue with not passing src to jQuery.Event constructor.
This commit is contained in:
parent
619a89d5ff
commit
8c91da57b9
@ -644,7 +644,7 @@ jQuery.Event = function( src, props ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create a timestamp if incoming event doesn't have one
|
// Create a timestamp if incoming event doesn't have one
|
||||||
this.timeStamp = src.timeStamp || jQuery.now();
|
this.timeStamp = src && src.timeStamp || jQuery.now();
|
||||||
|
|
||||||
// Mark it as fixed
|
// Mark it as fixed
|
||||||
this[ jQuery.expando ] = true;
|
this[ jQuery.expando ] = true;
|
||||||
@ -875,7 +875,7 @@ function simulate( type, elem, event, bubble ) {
|
|||||||
// Piggyback on a donor event to simulate a different one.
|
// Piggyback on a donor event to simulate a different one.
|
||||||
// Fake originalEvent to avoid donor's stopPropagation, but if the
|
// Fake originalEvent to avoid donor's stopPropagation, but if the
|
||||||
// simulated event prevents default then we do the same on the donor.
|
// simulated event prevents default then we do the same on the donor.
|
||||||
var e = jQuery.extend( {}, event, { type: type, originalEvent: {} } );
|
var e = jQuery.extend( new jQuery.Event(), event, { type: type, originalEvent: {} } );
|
||||||
if ( bubble ) {
|
if ( bubble ) {
|
||||||
jQuery.event.trigger( e, null, elem );
|
jQuery.event.trigger( e, null, elem );
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user