2013-07-16 3 views
0

나는 너무 빨리 발사되지만 document.ready에 일부 코드가 있습니다. 일부 JavaScript 생성 또는 다른 것부터 그렇지 않으면 나는 나쁜 영향을 미친다.document.ready 타이밍 문제를 해결하는 가장 좋은 방법은 무엇입니까

내가 마지막으로 실행하려고하는 코드는 마지막으로 실행되는 델리게이트를 비난적으로 푸시하는 setTimeout-Zero에 넣는 코드입니다. 이것은 잘 작동합니다.

이 타이밍 문제를 해결하고 나중에 코드를 실행하려면 더 나은 방법이 있습니까? IE에만있는 문제를 해결하고 있습니다.

$(document).ready(function() { 
     window.setTimeout(function() { 
      $('#accordionmain').trigger('click'); 
     //$('#accordionmain').trigger('click'); 
    }, 0); 
+0

만약 파손되지 않았다면 수정하지 마라. –

+0

그러나 나는 이것을 새로운 수정으로 구현하고있다. 그래서 준비된 문서에서 setTimeout을 구현하기 전에 최선의 방법을 사용하고 싶다. 모든 곳 ... – user1060500

+0

작동하기 전에 어떤 코드를 실행해야합니까? –

답변

3

당신이 (당신의 준비를 약간 다르게

대신 $ (문서) .ready 실행할 수있다); 코드, 당신이 필요로하는 무엇이든 당신이 준비가 느낄 때 당신이이 완료되면 알고있는 경우에, 단지 물론

$(document).triggerHandler("imReady"); 

전화에서 지금

$(document).on('imReady', function() { 
    $('#accordionmain').trigger('click'); 
    // ..other stuff 
}); 

, 당신은 단지뿐만 아니라 $('#accordionmain').trigger('click'); 직접

부를 수

나는 이런 종류의 물건을 항상 사용한다. 왜냐하면 내가 준비하고있는 글로벌 문서를 갖고 있지만, 몇 가지 설정을해야하고, 다른 것들을 한꺼번에 호출해야한다. UI가 마침내 최종 사용자에 의해 사용될 준비가되었다고 말했습니다.

+0

나는 커스텀 이벤트 아이디어가 마음에 든다. 다른 자바 스크립트를 사용하여 트리거합니다. – Michael

관련 문제