[javascript] 페이지로드시 JavaScript 함수를 어떻게 호출합니까?

일반적으로 페이지가로드 된 후 JavaScript 함수를 호출하려면 onload약간의 JavaScript가 포함 된 본문에 속성을 추가합니다 (보통 함수 만 호출).

<body onload="foo()">

페이지가로드되면 JavaScript 코드를 실행하여 페이지의 일부를 서버의 데이터로 동적으로 채 웁니다. 속성을 추가 할 수있는 요소 onload가없는 JSP 조각을 사용하고 있으므로 속성을 사용할 수 없습니다 body.

로드시 JavaScript 함수를 호출하는 다른 방법이 있습니까? 익숙하지 않아서 jQuery를 사용하지 않을 것입니다.



답변

onload 메소드가 매개 변수를 사용하도록하려면 다음과 유사한 작업을 수행하십시오.

window.onload = function() {
  yourFunction(param1, param2);
};

이것은 onload를 익명 함수에 바인딩하며, 호출 될 때 원하는 매개 변수와 함께 원하는 함수를 실행합니다. 물론 익명 함수 내부에서 둘 이상의 함수를 실행할 수 있습니다.


답변

이를 수행하는 또 다른 방법은 이벤트 리스너를 사용하는 것입니다.

document.addEventListener("DOMContentLoaded", function() {
  you_function(...);
});

설명:

DOMContentLoaded 문서의 DOM 객체가 JavaScript로 완전히로드되고 표시 될 때 “클릭”, “포커스”일 수 있음을 의미합니다.

function () 이벤트가 발생하면 익명 함수가 호출됩니다.


답변

Kevin의 편집 / 해석이 정확하고 첫 번째 옵션이 적용되지 않는다고 가정하면 원래 질문은 명확하지 않습니다.

일반적인 옵션은 onload이벤트를 사용하는 것입니다 .

<body onload="javascript:SomeFunction()">
....

몸의 맨 끝에 자바 스크립트를 배치 할 수도 있습니다. 문서가 완료 될 때까지 실행이 시작되지 않습니다.

<body>
  ...
  <script type="text/javascript">
    SomeFunction();
  </script>
</body>

그리고 또 다른 옵션은 본질적으로 이것을 수행하는 JS 프레임 워크를 사용하는 것입니다.

// jQuery
$(document).ready( function () {
  SomeFunction();
});


답변

function yourfunction() { /* do stuff on page load */ }

window.onload = yourfunction;

또는 원하는 경우 jQuery를 사용하십시오.

$(function(){
   yourfunction();
});

페이지로드시 둘 이상의 함수를 호출하려면 자세한 내용은이 기사를 참조하십시오.


답변

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript">
        function codeAddress() {
            alert('ok');
        }
        window.onload = codeAddress;
        </script>
    </head>
    <body>

    </body>
</html>


답변

로드 할 때 호출하려는 함수를 호출해야합니다 (예 : 문서 / 페이지로드). 예를 들어, 문서 또는 페이지를로드 할 때로드하려는 기능을 “yourFunction”이라고합니다. 문서의로드 이벤트시 함수를 호출하여 수행 할 수 있습니다. 자세한 내용은 아래 코드를 참조하십시오.

아래 코드를 사용해보십시오 :

<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function () {
        yourFunction();
    });
    function yourFunction(){
      //some code
    }
</script>


답변

다음은 트릭입니다 (모든 곳에서 작동).

r(function(){
alert('DOM Ready!');
});
function r(f){/in/.test(document.readyState)?setTimeout('r('+f+')',9):f()}