본문 바로가기
개발/웹

IIFE 와 $(document).ready()

by 로그인시러 2017. 10. 24.



http://stackoverflow.com/questions/31634281/iife-inside-document-ready-or-the-other-way-around


(function($) {
    // Non-DOM-ready-required code here (scope-safe) ---- (1)
    $(function() 
      //...
      // DOM-ready-required code here ---- (2)
      //...
    });
 })(jQuery);

(1) 구역에 이벤트 핸들러를 넣어놓아도, 전혀 안먹었는데, 이유가 이거였네 ..

   IIFE 의 영역이 위에서는 non-required 라고만 했지만  실제 dom-ready 이전에 실행되는 영역인 듯 ...


지금까지 살펴본 바에 의하면, IIFE 는 모듈화를 위한 도구라고 생각하면 될 것 같다.

return 으로 변수나 함수(도 변수지만) 를 외부로 오픈하는 역할을 하는 건 좀 놀랍기도 했다.


아무튼, 이벤트 핸들러를 등록하려면, 등록학 object 가 있어야 하는데, 

그러려면, image load 까지는 아니더라도, dom-ready 는 되어야 되는데,

그러려면, $(document).ready() == $(function(){}) == document.ready(function(){}) 에서 처리해야 한다.


물론, window.onload() == $(window).onload() 에서 이벤트 핸들러를 등록해도 되지만, 굳이 이미지 로드까지 기다려야 할 이유는 없다.

'개발 > ' 카테고리의 다른 글

HTML5_CSS3 정석  (0) 2022.03.16
eclipse javascript 멈춤 현상  (0) 2022.03.11
javascript garden 번역본  (0) 2017.10.24
javascript 내장함수와 closure [펌]  (0) 2017.07.04
spring mvc mocking 사용시 @modelattributes  (0) 2016.12.02

댓글