EventDispatcher.html 2.0 KB

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