diff --git a/js/utils/events.js b/js/utils/events.js index 6f2c437cb1..d99f1b5b2a 100644 --- a/js/utils/events.js +++ b/js/utils/events.js @@ -13,36 +13,29 @@ (function(ionic) { // Custom event polyfill - if(!window.CustomEvent) { - (function() { - var CustomEvent; - - CustomEvent = function(event, params) { - var evt; - params = params || { - bubbles: false, - cancelable: false, - detail: undefined - }; - try { - evt = document.createEvent("CustomEvent"); - evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); - } catch (error) { - // fallback for browsers that don't support createEvent('CustomEvent') - evt = document.createEvent("Event"); - for (var param in params) { - evt[param] = params[param]; - } - evt.initEvent(event, params.bubbles, params.cancelable); - } - return evt; + ionic.CustomEvent = window.CustomEvent || (function() { + function CustomEvent(event, params) { + var evt; + params = params || { + bubbles: false, + cancelable: false, + detail: undefined }; - - CustomEvent.prototype = window.Event.prototype; - - window.CustomEvent = CustomEvent; - })(); - } + try { + evt = document.createEvent("CustomEvent"); + evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); + } catch (error) { + // fallback for browsers that don't support createEvent('CustomEvent') + evt = document.createEvent("Event"); + for (var param in params) { + evt[param] = params[param]; + } + evt.initEvent(event, params.bubbles, params.cancelable); + } + return evt; + } + CustomEvent.prototype = window.Event.prototype; + })(); /** @@ -65,7 +58,7 @@ */ // Trigger a new event trigger: function(eventType, data, bubbles, cancelable) { - var event = new CustomEvent(eventType, { + var event = new ionic.CustomEvent(eventType, { detail: data, bubbles: !!bubbles, cancelable: !!cancelable