Skip to content

Instantly share code, notes, and snippets.

@mahboob-awan
Last active February 7, 2018 16:11
Show Gist options
  • Save mahboob-awan/d0b55b335d49d199dc0391b6f2130224 to your computer and use it in GitHub Desktop.
Save mahboob-awan/d0b55b335d49d199dc0391b6f2130224 to your computer and use it in GitHub Desktop.
Untitled
<button id="aButton">Trigger on Click</button><hr><input type="checkbox" name="" id="aCheckbox">Trigger on Change<hr><a href="https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf" download>Download pdf</a> <pre>Steps to reproduce the bug in IE11:1 - Download PDF2 - Change checkbox state3 - CustomEvent does not trigger!</pre>
(function() { 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;})();(function() { console.log('PROGRAM EXECUTED!'); var button = document.getElementById('aButton'); var clickEvent = "CLICK_EVENT"; var changeEvent = "CHANGE_EVENT"; button.addEventListener('click', function(){ console.log('NATIVE CLICK!'); button.dispatchEvent(new CustomEvent(clickEvent, { detail: {value:100} })); }); button.addEventListener(clickEvent, function(){ console.log('CLICK_EVENT Listened!!!!'); }); var checkbox = document.getElementById('aCheckbox'); checkbox.addEventListener('change', function(event){ console.log('NATIVE CHANGE!'); checkbox.dispatchEvent(new CustomEvent(changeEvent, { bubbles: true, cancelable: true, detail: {value:100} })); }); checkbox.addEventListener(changeEvent, function(){ console.log('CHANGE_EVENT Listened!'); });})();
{"view":"split","fontsize":"100","seethrough":"","prefixfree":"1","page":"css"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment