문서가 이미로드 된 경우에만 실행되는 코드를 실행하려고합니다 (로드 된 후 오른쪽 실행되는 코드가 아닌). JQuery가 아닌 것을 찾고 있습니다.윈도우가로드 된 경우에만 작업 수행
질문 전제 : 나는 페이지가 완전히로드되기 전에 실행되는 기능이 있습니다. 그러나이 함수는 이벤트를 전달하는 다른 함수를 호출합니다. 윈도우가 이미로드 된 경우에만 이벤트를 전달하기를 원합니다. 그렇지 않다면 배열에 저장하고 페이지가로드 된 후 디스패치합니다.
문서가 이미로드 된 경우에만 실행되는 코드를 실행하려고합니다 (로드 된 후 오른쪽 실행되는 코드가 아닌). JQuery가 아닌 것을 찾고 있습니다.윈도우가로드 된 경우에만 작업 수행
질문 전제 : 나는 페이지가 완전히로드되기 전에 실행되는 기능이 있습니다. 그러나이 함수는 이벤트를 전달하는 다른 함수를 호출합니다. 윈도우가 이미로드 된 경우에만 이벤트를 전달하기를 원합니다. 그렇지 않다면 배열에 저장하고 페이지가로드 된 후 디스패치합니다.
질문의 뉘앙스는 onload
이벤트를 캡처하는 데 문제가없는 것 같지만 아직 발생했는지는 알 수 없습니다. .
jQuery가 수행하는 작업을 수행하고 onload
이벤트 내에 true
이라는 플래그를 설정 한 다음 if
문에서 해당 플래그를 참조 할 수 있습니다.
var whenLoaded = (function() {
var isLoaded = false,
callbacks = [];
window.onload = function() {
isLoaded = true;
for (var i = 0; i < callbacks.length; i++)
callbacks[i]();
};
return function whenLoaded(callback) {
if (isLoaded) {
callback();
} else {
callbacks.push(callback);
}
};
})();
...
whenLoaded(function() {
// eat a cookie
});
질문 뒤에있는 전제 : 페이지가 완전히로드되기 전에 실행되는 함수가 있습니다. 그러나이 함수는 이벤트를 전달하는 다른 함수를 호출합니다. 윈도우가 이미로드 된 경우에만 이벤트를 전달하기를 원합니다. 그렇지 않다면 배열에 저장하고 페이지가로드되면 디스패치합니다. –
@HassaanHafeez 나는 IIFE와 함께 다목적으로 사용될 수 있도록 대답을 업데이트했지만 본질적으로 그 명령문을'onload' 블록에 넣기 만하면됩니다. 그렇지 않으면 나중에 호출 할 배열에 넣으십시오. – 4castle
이 https://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery – Jack
위치 : 재사용 가능한 솔루션을
, 당신은 콜백을 받아들이는 기능이 동작을 캡슐화 할 수 당신은 이벤트를 감지하려고하거나'if' 문에 넣을 코드를 가지고 있습니까? – 4castle기본적으로'if' 문에 넣습니다. 나는 DOMContentLoaded와 onload를 시도했지만, 내가하고있는 것과는 작동하지 않는다. dom을로드했는지,로드 한 직후에 뭔가를 실행하지 않았는지 확인하고 싶습니다 ... 그게 의미가있는 경우 –