2011-08-10 3 views
1

간단한 jQuery 플러그인을 만들고 싶지만 몇 가지 기사를 읽은 다음 몇 가지 인기있는 플러그인 코드를 배우려고했지만 시작하는 방법을 모르겠지만 혼란 스러울 정도로 더 심해집니다. .간단한 jquery 플러그인

저에게 시범 템플릿을 보여주십시오. 나는 그런 식으로 호출 할 수있는, 이제 내가 뭔가를 얻어야한다 예를 위해 가정 해 봅시다 :

$("a").myMessagePlugin(); 

지금, 매번 누군가가 그냥 경고를 팝업 및 링크를 표시해야합니다 링크를 클릭합니다. 당신이 jQuery 플러그인가 jQuery 방법을 체인에 도움이 될 것입니다 때문에 당신이 jQuery 개체를 반환해야합니다 쓰기 할 때마다

+0

아마 "플러그인을 만드는 법"은 당신을 붙잡고있는 것이 아니라 자바 스크립트로 만드는 방법입니다. 프로토 타입 확장을 살펴보고 실행 후 즉시 실행되는 함수를 선언하는 방법 및 다른 유용한 도구를 통해 여러분을 도울 필요가 있습니다 ... 나 역시 똑같은 문제에 직면했습니다. 근본적인 javscript 기본 원리를 아는 것이 훨씬 쉽습니다 :) – PhD

+0

아 그래, 당신은 쉽게 시작할 수있는 기존의 플러그인을 해독 할 수 있습니다. – PhD

답변

2

다른 답변은 대부분 정확하지만 달러 기호를 사용하려면 익명의 함수로 묶고 jQuery 개체를 전달하십시오. 그렇지 않으면 다른 라이브러리와 충돌 할 위험이 있습니다.

(function($) { 
    $.fn.myMessagePlugin = function(options) { 
     return this.click(function() { //jQuery object, to be returned 
      alert(this.href); //html element 
     }); 
    } 
})(jQuery); 
3

감사드립니다.

$.fn.myMessagePlugin = function(options) { 
    return this.each(function(){ 
     //plugin logic here 
     $(this).click(function() { 
      alert(this.href); 
     }); 
    }); 
} 
+0

내부 'this'는'dom' 객체입니다. OP는 플러그인 요구 사항에 따라 각 블록 내에 로직을 작성할 수 있습니다. – ShankarSangoli

+0

@Agzam - 이것이 당신을 돕고 간단한 'jQuery' 플러그인 작성법을 이해하게되기를 바랍니다. – ShankarSangoli

1

당신이 옵션에 대한 기본값을 정의하고 $ .extend

사용하여 확장 할

또한 좋은 방법이다 (I가, 감사를베이스로 앞의 예를 사용하고 있습니다)뿐만 아니라 정의되지 않은 지정 시스템 권장됩니다

(function($, undefined) { 
    $.fn.myPlugin= function(options) { 
     var opts = $.extend($.fn.myPlugin.defaults, options); 

     return this.click(function() { //jQuery object, to be returned 
      alert(this.href); //html element 
     }); 
    } 

    $.fn.myPlugin.defaults = { 
     "option1": 1, 
     "option2": 2 
    } 
})(jQuery);