스킬(skills)/자바스크립트(Javascript)

defer 속성에 관하여

후바스탱크 2014. 11. 3. 20:30

간혹 <script type="text/javascript" defer="defer"> 라는 구문을 본 적이 있을것이다.

defer 는 '미루다, 연기하다' 라는 의미를 가진 단어로써

html 및 css 보다 늦게 자바스크립트 구문을 호출하는 방법이다.


예를들어(이렇 게하는 경우는 굉장히 드물겠지만)

페이지 로딩 후 select 박스의 값을 변경해야 하는일이 있을때

select 태그 바로 밑에 javascript 구문을 쓰는 경우가 있을것이다.


이렇게 html 이 먼저 로딩되고 나서야 javascript 구문이 동작해야 하는 경우 기존에는

body 안에다가 끼워넣었을 것이다.


그렇지만 좀 더 소스를 깔끔하게 하기 위하여 head 태그 안에 script 를 선언 하고도 위와같은 동작이 원할하게 수행되고자 할때 바로 defer 를 쓰는것이다.

<script src="demo_defer.js" defer></script>

이렇게 쓰면 된다.


단, 반드시 .js 형태의 javascript source 파일 형식으로 해야 사용 가능하다.

또한 W3C 정식 표기법은 defer="defer" 가 아니라 그냥 defer 만 쓰면 된다.