diff options
| -rw-r--r-- | src/jqLite.js | 14 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 12 | 
2 files changed, 26 insertions, 0 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index 122684a5..6b954005 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -376,6 +376,20 @@ forEach({            if (!event.target) {              event.target = event.srcElement || document;            } + +          if (isUndefined(event.defaultPrevented)) { +            var prevent = event.preventDefault; +            event.preventDefault = function() { +              event.defaultPrevented = true; +              prevent.call(event); +            }; +            event.defaultPrevented = false; +          } + +          event.isDefaultPrevented = function() { +            return event.defaultPrevented; +          }; +            forEach(eventHandler.fns, function(fn){              fn.call(element, event);            }); diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 673bee78..aac5aeb5 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -443,6 +443,18 @@ describe('jqLite', function(){        browserTrigger(a, 'click');      }); + +    it('should have event.isDefaultPrevented method', function() { +      jqLite(a).bind('click', function(e) { +        expect(function() { +          expect(e.isDefaultPrevented()).toBe(false); +          e.preventDefault(); +          expect(e.isDefaultPrevented()).toBe(true); +        }).not.toThrow(); +      }); + +      browserTrigger(a, 'click'); +    });    }); | 
