2026, 새로운 도약을 시작합니다.

jquery loaded 커스텀 함수

· 9개월 전 · 963

$("div.section").ready()같은 함수가 필요해서 만들었습니다. 비동기로 dom에 삽입될때도 작동합니다.

[code]

$.fn.loaded = function(node_selector,callback_func,option){
    var loaded = [];
    // 감시 대상 요소 선택
    $(this).each(function (i,e) {

        var $target = $(e);
        var targetNode = $target[0];
        var added = [];

        if (!node_selector instanceof jQuery){
            node_selector = $(node_selector);
        }

        var callback_excute = function (index,elem) {
            // if(elem.weaver_loaded==true){
            //     return false;
            // }
            if(loaded.includes(elem)){
                return false;
            }
            loaded.push(elem);
            // elem.weaver_loaded=true;
            callback_func.call(elem,index,elem);
        }

        $(node_selector,$target).each(function (i,e) {

            callback_excute(i,e)
        })

        var config = { childList: true, subtree: true };


        var observer = new MutationObserver(function(mutationsList, observer) {
            for(var mutation of mutationsList) {

                if (mutation.type === 'childList') {

                    $.each(mutation.addedNodes,function (j,k){
                        var $node ;

                        if($(k).is(node_selector)){
                            $node = $(k);

                            callback_excute(j,$node[0])

                        }else{
                            $(node_selector,$(k)).each(function (x,y) {

                                callback_excute(x,y)
                            });
                        }

                    })


                }
            }
        });
        observer.observe(targetNode, config);
    })
};

// 사용법

$("div.section").loaded(function(i,e){

    $(this).html('test');

}}

[/code]

|

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

개발자팁

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
번호 분류 제목 글쓴이 날짜 조회
5402 MySQL 1주 전 조회 24
5401 JavaScript 3주 전 조회 118
5400 MySQL 1개월 전 조회 225
5399 PHP 2개월 전 조회 472
5398 PHP 2개월 전 조회 355
5397 PHP 2개월 전 조회 287
5396 기타 5개월 전 조회 560
5395 PHP 6개월 전 조회 1,197
5394 MySQL 7개월 전 조회 794
5393 웹서버 9개월 전 조회 987
5392 1년 전 조회 1,314
5391 11개월 전 조회 1,321
5390 11개월 전 조회 1,114
5389 10개월 전 조회 1,033
5388 10개월 전 조회 1,173
5387 9개월 전 조회 964
5386 JavaScript 9개월 전 조회 1,151
5385 웹서버 9개월 전 조회 1,170
5384 JavaScript 10개월 전 조회 992
5383 기타 11개월 전 조회 1,418
5382 기타 11개월 전 조회 662
5381 JavaScript 11개월 전 조회 1,084
5380 기타 11개월 전 조회 834
5379 JavaScript 11개월 전 조회 832
5378 1년 전 조회 1,399
5377 기타 1년 전 조회 941
5376 jQuery 1년 전 조회 641
5375 jQuery 1년 전 조회 873
5374 기타 1년 전 조회 950
5373 MySQL 1년 전 조회 982
🐛 버그신고