2011-09-26 2 views
0

여러 HTML 파일에 사용되는 jQuery document.ready()에 대한 코드가 있습니다. 이제 차이점은 각각의 HTML이 다른 div id를 사용한다는 것입니다. 하나의 옵션은 $ (document) .ready() 안에 하드 코드 div id가 있는지 확인하는 것입니다. 하지만 currrent/calling HTML 페이지를 기반으로 div ID를 사용하는 일반적인 코드를 작성하려고 했습니까?매개 변수를 jQuery ready()에 전달하는 것에 대한 해결 방법

jQuery ready()에 매개 변수를 전달하는 방법이나 해결 방법이 있습니까?

답변

1

문서 준비는 매개 변수로 처리기 기능 만 사용합니다. 각 html에 대한 현재 div id를 저장하여 문서 준비 함수에서 일반 코드를 정의 할 수 있습니다.

<input type="hidden" id="current_div" value="div1" /> 

$(document).ready(function() { 
    var div_id = $('#current_div').val(); 
    // generic code 
}); 
2

$(document).ready()은 인수로 함수를 원하기 때문에 ID를 인수로 취하는 함수를 작성하고 $(document).ready()에 대한 함수를 반환 할 수 있습니다. 대신이의 예를 들면 다음과 같습니다

$(document).ready(function() { 
    $('#some_id').click(/*...*/); 
}); 

이 작업을 수행 할 수 있습니다 :

function make_ready(id) { 
    return function() { 
     $('#' + id).click(/*...*/); 
    }; 
} 

$(document).ready(make_ready('some_id')); 

그런 다음 당신은 넣을 수있는 당신의 make_ready 몇 가지 일반적인 위치와 $(document).ready() 통화 기능을 구축하는 데 사용합니다.

+1

저는이 솔루션을 선호합니다. 폐쇄의 아름다움을 잘 보여주기 때문에 좋습니다. –

+1

@SahilTandon (이상하게도)에 동의합니다. 함수는 JavaScript 세계에서 제일 시민이므로 왜 사용하지 않을까요? –

관련 문제