Thu Jul 26 2018
Copied to clipboard! Copy reply
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
// custom events polyfill
(function(){
	// source: https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill
	if(typeof window.CustomEvent === "function"){ return false; }
	function CustomEvent(event, params){
		params = params || { bubbles: false, cancelable: false, detail: undefined };
		var evt = document.createEvent('CustomEvent');
		evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);
		return evt;
	}
	CustomEvent.prototype = window.Event.prototype;
	window.CustomEvent = CustomEvent;
})();


// if you see something like this in jQuery
$(document).trigger('demo_email', {
	email: email,
	is_offer: false
});

// you can do this in vanilla js (once the polyfill is in place)
document.dispatchEvent(new CustomEvent('demo_email', {
	detail: {
		email: email,
		is_offer: false
	}
}));