2010-12-11 4 views
0

jQuery 사이트의 지침에 따라 플러그인을 작성하려고합니다.jQuery 플러그인 상단에 ready()를 추가 할 수 있습니까?

저는 새로운 div 요소를 만드는 것을 포함하여 모든 것을 통합하려고합니다.

문서 작성 준비가 필요한 div가 필요하므로 여기에서 최상의 옵션을 찾으려고합니다.

이것은 현재 가지고있는 것으로 잘 작동하지만 아무 이유없이 볼 수는 없지만 어떤 이유로 보이지 않습니다.

더 좋은 방법이 있습니까?

$(document).ready(function() { 
    var message_bar = "<div id="something"></div>"; 
    $('body').prepend(message_bar); 
}); 

(function($){ 
    $.fn.displayMessage = function(options) { 
    ... 

답변

1

플러그인 인 경우 플러그인 사용자는 플러그인 사용자가 초기화 할시기를 실제로 선택할 수 있어야합니다.

사용자가 명시 적으로 호출하거나 플러그인을 인스턴스화 할 때 암시 적으로 호출 할 수있는 init 함수를 만드는 것이 좋습니다.

문서에서 준비가 완료 될 때까지 플러그인을 초기화하지 말아야한다는 내용이나 문서 상태를 확인하고 초기 코드를 ready() 대기열에 추가하는 코드를 작성할 수 있습니다. 모든 플러그인을로드하지만, 쉽게 플러그인을 사용하지 않도록 설정할 수 있습니다 그들을 필요가 없습니다

페이지 : init 메소드로 준비 기능을 넣기

+0

실제로 동적으로 생성 된 요소에 bind()를 사용했습니다. 그러나 플러그인이 인스턴스화되었는지 여부를 확인할 수 있기를 원하면 init을 사용하십시오. 잘 했어. –

1

은 몇 가지 장점이있다. 준비에 displayMessage() 방법을 실행하고 플러그인 실행 이전 플러그인의 자신의 준비 스크립트보다 준비 큐에 displayMessage()를 넣어 전에 실행

스크립트. 준비 이벤트가 발생하면 함수가 잘못된 순서로 호출됩니다.

관련 문제