aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jqLite.js14
-rw-r--r--test/jqLiteSpec.js12
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');
+ });
});