문제

문서 준비 이벤트가 발사 된 후 광고를 삽입하기 위해 $ (document) .ready ()가있는 외부 jQuery를 사용하여 다음과 같은 것입니다.

$(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
});

이것은 광고의 느린 로딩에 의해 UI가 차단되는 것을 방지하기위한 것입니다. 지금까지 잘 작동하고 있습니다.

이제 CMS 시스템을 통해 더 많은 광고를 삽입해야합니다. 이것은 외부 JS 파일의 일부가 될 수 없으므로 두 번째 문서 준비 이벤트를 사용하고 인라인 스크립트 태그를 사용하여 삽입 할 수 있습니까? 그렇다면 외부 JS 문서 준비 이벤트를 먼저 또는 인라인 스크립트 실행 순서는 무엇입니까?

도움이 되었습니까?

해결책

원하는만큼의 이벤트 방법을 사용할 수 있으며 jQuery는 대기열에서 조인합니다. 메소드 호출 순서는 정의 순서와 동일합니다. 마지막 추가는 마지막으로 호출됩니다.

유용한 것은 AJAX를 사용하여 스크립트로 HTML 코드를로드 할 수 있고 코드가 dom $ ()에로드되면 ready ()도 호출되므로 광고를 동적으로로드 할 수 있다는 것입니다.

다른 팁

예, 여러 $ (문서)를 추가하는 것은 문제가 아닙니다. 준비된 이벤트에서 모두 실행됩니다.

그러나 코드 샘플이 잘못되었습니다. $ (document) .ready ()는 표현식이 아닌 함수를 취합니다. 따라서 다음과 같은 기능을 제공해야합니다.

 $(document).ready( function() {
  $('#leaderboard').html("<strong>ad code</strong>");     
 });

문서가 준비되면 해당 기능이 실행됩니다.

여기에 작은 튜토리얼이 있습니다 여러 문서가 준비되었습니다

JQuery Way의 추가 보너스는 여러 Ready () 정의를 가질 수 있다는 것입니다. 이것은 모든 jQuery 이벤트의 경우입니다.

$ (document) .ready (function () {alert ( "number one");});

$ (document) .ready (function () {alert ( "번호 2");

jQuery는 정의 된 순서대로 준비 기능을 호출합니다. 데이터를 먼저로드하려면 실행 사용을 삭제하려면 holdready ().

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top