통상적으로 JavaScript를 통해서 이벤트 발생을 catch해서 이벤트가 발생했을 때 무엇을 어떻게 처리하라는 식의 작업은 자주하게 되는 작업이다.
예를 들어서 클릭 이벤트가 발생했을 때 무엇을 하라든지, 혹은 input 태그의 값이 변경되었을 때 무엇을 하라든지...
그런데 반대의 경우를 만나게 되는 것도 종종 발생하기도 한다. 즉 특정 이벤트를 소스 코드에서 발생 시키는 경우를 말한다. 이벤트는 보통 사용자(사람)에 의해서 발생하게 되는데 반대로 소스 코드에서 특정 이벤트를 발생시키는 경우에 대해서 포스팅하고자 한다.

아래의 소스코드는 a 태그에 필자의 블로그로 이동하는 링크를 걸었고 이것을 사용자가 클릭하면 당연히 이동하겠지만 여기서는 프로그램에서 a 태그에 대한 클릭 이벤트를 발생시켜서 블로그로 이동하는 기능을 구현한 것이다.
따라서 본 페이지로 집입하자 마자 블로그로 막바로 이동하는 효과를 나타내게 될 것이다.

<html>
	<head><title>Click 이벤트 발생시키기</title></head>
	<body>
		<a id="myBlog" href="http://developer-joe.tistory.com">Developer Joe의 블로그로 이동하기</a><br/>

	<script>
		var blogLink = document.getElementById('myBlog');
		//blogLink.fireEvent("onclick"); //IE에서 동작하는 방법
		
		//IE 이외의 경우
		var event = document.createEvent("MouseEvents");
		event.initEvent("click", false, true);
		blogLink.dispatchEvent(event);

	</script>
	</body>
</html>

+ Recent posts