EventDispatcher.html 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="utf-8" />
  5. <base href="../../../" />
  6. <script src="list.js"></script>
  7. <script src="page.js"></script>
  8. <link type="text/css" rel="stylesheet" href="page.css" />
  9. </head>
  10. <body>
  11. <h1>[name]</h1>
  12. <p class="desc">
  13. 自定义对象的 JavaScript 事件。<br />
  14. [link:https://github.com/mrdoob/eventdispatcher.js Eventdispatcher on GitHub]
  15. </p>
  16. <h2>代码示例</h2>
  17. <code>
  18. // 为自定义对象添加事件
  19. class Car extends EventDispatcher () {
  20. start() {
  21. this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
  22. };
  23. }
  24. // 使用自定义对象的事件
  25. const car = new Car();
  26. car.addEventListener( 'start', function ( event ) {
  27. alert( event.message );
  28. } );
  29. car.start();
  30. </code>
  31. <h2>构造函数</h2>
  32. <h3>[name]()</h3>
  33. <p>
  34. 创建 EventDispatcher 对象。
  35. </p>
  36. <h2>方法</h2>
  37. <h3>[method:null addEventListener]( [param:String type], [param:Function listener] )</h3>
  38. <p>
  39. type - 需要添加监听的事件类型。<br />
  40. listener - 事件发生时被调用到的函数。
  41. </p>
  42. <p>
  43. 为指定事件增加监听函数。
  44. </p>
  45. <h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
  46. <p>
  47. type - 需要被监听的事件类型。<br />
  48. listener - 事件发生时被调用到的函数。
  49. </p>
  50. <p>
  51. 检查监听函数是否已经添加到指定事件。
  52. </p>
  53. <h3>[method:null removeEventListener]( [param:String type], [param:Function listener] )</h3>
  54. <p>
  55. type - 需要移除监听的事件类型。<br />
  56. listener - 需要被移除的监听函数。
  57. </p>
  58. <p>
  59. 从指定事件类型中移除监听函数。
  60. </p>
  61. <h3>[method:null dispatchEvent]( [param:object event] )</h3>
  62. <p>
  63. event - 将被触发的事件。
  64. </p>
  65. <p>
  66. 触发一个事件。
  67. </p>
  68. <h2>源代码</h2>
  69. <p>
  70. [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
  71. </p>
  72. </body>
  73. </html>