diff --git a/src/event.js b/src/event.js index 488ffdcc9..57094c747 100644 --- a/src/event.js +++ b/src/event.js @@ -103,13 +103,17 @@ var returnTrue = function(){return true}, returnFalse = function(){return false}, + ignoreProperties = /^([A-Z]|layer[XY]$)/, eventMethods = { preventDefault: 'isDefaultPrevented', stopImmediatePropagation: 'isImmediatePropagationStopped', stopPropagation: 'isPropagationStopped' } function createProxy(event) { - var proxy = $.extend({originalEvent: event}, event) + var key, proxy = { originalEvent: event } + for (key in event) + if (!ignoreProperties.test(key) && event[key] !== undefined) proxy[key] = event[key] + $.each(eventMethods, function(name, predicate) { proxy[name] = function(){ this[predicate] = returnTrue diff --git a/test/event.html b/test/event.html index f1672b40a..aca206daa 100644 --- a/test/event.html +++ b/test/event.html @@ -129,6 +129,17 @@