일반적으로 페이지가로드 된 후 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()}