When a native browser event is bubbling up the DOM, make sure that the correct isDefaultPrevented value is reflected by jQuery's Event object. Fixes #7793.

This commit is contained in:
Dave Methvin 2010-12-23 16:21:14 -05:00
parent 1f92edee20
commit 0b6afcedd2
2 changed files with 44 additions and 0 deletions

View file

@ -600,6 +600,12 @@ jQuery.Event = function( src ) {
if ( src && src.type ) {
this.originalEvent = src;
this.type = src.type;
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented =
(src.defaultPrevented===true ? true :
src.getPreventDefault ? src.getPreventDefault() :
src.returnValue===false) ? returnTrue : returnFalse;
// Event type
} else {
this.type = src;