2
0

EventManager.js.html 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JSDoc: Source: EventManager.js</title>
  6. <script src="scripts/prettify/prettify.js"> </script>
  7. <script src="scripts/prettify/lang-css.js"> </script>
  8. <!--[if lt IE 9]>
  9. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  10. <![endif]-->
  11. <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
  12. <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
  13. </head>
  14. <body>
  15. <div id="main">
  16. <h1 class="page-title">Source: EventManager.js</h1>
  17. <section>
  18. <article>
  19. <pre class="prettyprint source linenums"><code>/**
  20. * EventManager is used to manager DOM events creating and destruction in a single function call.
  21. *
  22. * It is used by objects to make it easier to add and remove events from global DOM objects.
  23. *
  24. * @class
  25. */
  26. function EventManager()
  27. {
  28. /**
  29. * Stores all events in the manager, their target and callback.
  30. *
  31. * Format [target, event, callback, active]
  32. *
  33. * @type {Array}
  34. */
  35. this.events = [];
  36. }
  37. /**
  38. * Add new event to the manager.
  39. *
  40. * @param {Element} target Event target element.
  41. * @param {String} event Event name.
  42. * @param {Function} callback Callback function.
  43. */
  44. EventManager.prototype.add = function(target, event, callback)
  45. {
  46. this.events.push([target, event, callback, false]);
  47. };
  48. /**
  49. * Destroys this manager and remove all events.
  50. */
  51. EventManager.prototype.clear = function()
  52. {
  53. this.destroy();
  54. this.events = [];
  55. };
  56. /**
  57. * Creates all events in this manager.
  58. */
  59. EventManager.prototype.create = function()
  60. {
  61. for(var i = 0; i &lt; this.events.length; i++)
  62. {
  63. var event = this.events[i];
  64. event[0].addEventListener(event[1], event[2]);
  65. event[3] = true;
  66. }
  67. };
  68. /**
  69. * Removes all events in this manager.
  70. */
  71. EventManager.prototype.destroy = function()
  72. {
  73. for(var i = 0; i &lt; this.events.length; i++)
  74. {
  75. var event = this.events[i];
  76. event[0].removeEventListener(event[1], event[2]);
  77. event[3] = false;
  78. }
  79. };
  80. export {EventManager};
  81. </code></pre>
  82. </article>
  83. </section>
  84. </div>
  85. <nav>
  86. <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="BezierCurve.html">BezierCurve</a></li><li><a href="Box.html">Box</a></li><li><a href="Box2.html">Box2</a></li><li><a href="BoxMask.html">BoxMask</a></li><li><a href="Circle.html">Circle</a></li><li><a href="DOM.html">DOM</a></li><li><a href="EventManager.html">EventManager</a></li><li><a href="FileUtils.html">FileUtils</a></li><li><a href="Graph.html">Graph</a></li><li><a href="Helpers.html">Helpers</a></li><li><a href="Image.html">Image</a></li><li><a href="Key.html">Key</a></li><li><a href="Line.html">Line</a></li><li><a href="Mask.html">Mask</a></li><li><a href="Matrix.html">Matrix</a></li><li><a href="MultiLineText.html">MultiLineText</a></li><li><a href="Node.html">Node</a></li><li><a href="NodeConnector.html">NodeConnector</a></li><li><a href="NodeGraph.html">NodeGraph</a></li><li><a href="NodeSocket.html">NodeSocket</a></li><li><a href="Object2D.html">Object2D</a></li><li><a href="Pattern.html">Pattern</a></li><li><a href="Pointer.html">Pointer</a></li><li><a href="QuadraticCurve.html">QuadraticCurve</a></li><li><a href="Renderer.html">Renderer</a></li><li><a href="RoundedBox.html">RoundedBox</a></li><li><a href="Text.html">Text</a></li><li><a href="UUID.html">UUID</a></li><li><a href="Vector2.html">Vector2</a></li><li><a href="Viewport.html">Viewport</a></li><li><a href="ViewportControls.html">ViewportControls</a></li></ul><h3>Global</h3><ul><li><a href="global.html#writeFile">writeFile</a></li></ul>
  87. </nav>
  88. <br class="clear">
  89. <footer>
  90. Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 3.6.4</a> on Tue May 19 2020 10:16:34 GMT+0100 (Western European Summer Time)
  91. </footer>
  92. <script> prettyPrint(); </script>
  93. <script src="scripts/linenumber.js"> </script>
  94. </body>
  95. </html>