Guest User

Untitled

a guest
Nov 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta name="description" content="trigger IE-compatible custom events">
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width">
  7. <title>JS Bin</title>
  8. </head>
  9. <body>
  10.  
  11. <script id="jsbin-javascript">
  12. // for testing the event listener
  13. document.addEventListener(
  14. 'my-custom-event',
  15. function(evt) {
  16. var msg = 'event `' + evt.type + '` triggered';
  17. console.log(msg, evt.detail);
  18. }
  19. );
  20.  
  21. // IE-compatible custom event creation function
  22. function createCustomEvent(type, detail) {
  23. try {
  24. return new window.CustomEvent(type, { detail: detail });
  25. } catch (err) {
  26. const event = document.createEvent('CustomEvent');
  27. event.initCustomEvent(type, false, true, detail);
  28. return event;
  29. }
  30. }
  31.  
  32. // IE-compatible dispatch function
  33. function dispatchCustomEvent(type, detail) {
  34. const event = createCustomEvent(type, detail);
  35. document.dispatchEvent(event);
  36. }
  37.  
  38. // dispatch events
  39. dispatchCustomEvent('my-custom-event');
  40. dispatchCustomEvent('my-custom-event', { x: 5 });
  41. </script>
  42.  
  43.  
  44.  
  45. <script id="jsbin-source-javascript" type="text/javascript">// for testing the event listener
  46. document.addEventListener(
  47. 'my-custom-event',
  48. function(evt) {
  49. var msg = 'event `' + evt.type + '` triggered';
  50. console.log(msg, evt.detail);
  51. }
  52. );
  53.  
  54. // IE-compatible custom event creation function
  55. function createCustomEvent(type, detail) {
  56. try {
  57. return new window.CustomEvent(type, { detail: detail });
  58. } catch (err) {
  59. const event = document.createEvent('CustomEvent');
  60. event.initCustomEvent(type, false, true, detail);
  61. return event;
  62. }
  63. }
  64.  
  65. // IE-compatible dispatch function
  66. function dispatchCustomEvent(type, detail) {
  67. const event = createCustomEvent(type, detail);
  68. document.dispatchEvent(event);
  69. }
  70.  
  71. // dispatch events
  72. dispatchCustomEvent('my-custom-event');
  73. dispatchCustomEvent('my-custom-event', { x: 5 });</script></body>
  74. </html>
Add Comment
Please, Sign In to add comment