<!DOCTYPE html>
<html lang="ko">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		<h1>[name]</h1>

		<p class="desc">
			커스텀 객체를 위한 자바스크립트 이벤트입니다.<br />
			[link:https://github.com/mrdoob/eventdispatcher.js EventDispatcher on GitHub]
		</p>

		<h2>코드 예제</h2>

		<code>
		// Adding events to a custom object

		class Car extends EventDispatcher {

			start() {

				this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );

			}

		};

		// Using events with the custom object

		const car = new Car();

		car.addEventListener( 'start', function ( event ) {

			alert( event.message );

		} );

		car.start();
		</code>

		<h2>생성자</h2>

		<h3>[name]()</h3>
		<p>
		EventDispatcher 객체를 만듭니다.
		</p>


		<h2>메서드</h2>

		<h3>[method:undefined addEventListener]( [param:String type], [param:Function listener] )</h3>
		<p>
		type - 리스닝할 이벤트의 타입입니다.<br />
		listener - 이벤트가 작동하면 호출될 함수입니다.
		</p>
		<p>
		이벤트 타입에 리스너를 추가합니다.
		</p>

		<h3>[method:Boolean hasEventListener]( [param:String type], [param:Function listener] )</h3>
		<p>
		type - 리스닝할 이벤트의 타입입니다.<br />
		listener - 이벤트가 작동하면 호출될 함수입니다.
		</p>
		<p>
		리스너가 이벤트 타입에 추가되었는지를 체크합니다.
		</p>

		<h3>[method:undefined removeEventListener]( [param:String type], [param:Function listener] )</h3>
		<p>
		type - 제거될 리스너의 타입입니다.<br />
		listener - 제거될 리스너 함수입니다.
		</p>
		<p>
		이벤트 타입에서 리스너를 제거합니다.
		</p>

		<h3>[method:undefined dispatchEvent]( [param:Object event] )</h3>
		<p>
		event - 작동하는 이벤트입니다.
		</p>
		<p>
		이벤트 타입을 작동시킵니다.
		</p>


		<h2>소스코드</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>