> 웹 프론트엔드 > JS 튜토리얼 > jQuery는 플러그인 method_jquery를 정의합니다.

jQuery는 플러그인 method_jquery를 정의합니다.

WBOY
풀어 주다: 2016-05-16 15:24:54
원래의
1359명이 탐색했습니다.

일부 WEB 개발자는 JQuery 클래스 라이브러리를 참조한 다음 웹 페이지에 $("#"), $(".")를 작성하고 몇 년을 지나면 다른 사람들에게 매우 친숙하다고 말할 것입니다. JQuery와 함께. 나도 원래 그런 사람이었는데, 회사에서 기술교류를 하고 나서야 나 자신에 대한 관점이 바뀌었다.

jquery를 확장할 때. 핵심 메소드는 다음 두 가지입니다.

$.extend(object)는 jquery에 정적 메소드를 추가하는 것으로 이해될 수 있습니다

$.fn.extend(object)는 jquery 인스턴스에 메소드를 추가하는 것으로 이해될 수 있습니다

$.extend(개체)

예:

/* $.extend 定义与调用
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
$.extend({ fun: function () { alert("执行方法一"); } });//定义
$.fun();//调用
$.fn.extentd(object)
/* $.fn.extend 定义与调用
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
$.fn.extend({ fun: function () { alert("执行方法"); } });
$(this).fun();
//等同于
$.fn.fun = function () { alert("执行方法三"); }
$(this).fun();
로그인 후 복사

jquery 플러그인의 기본 구조 정의

1. 범위 정의:

플러그인의 비공개 범위를 정의합니다. 외부 코드는 플러그인 내부에 직접 접근할 수 없습니다. 플러그인의 내부 코드는 외부 간섭을 받지 않으며 전역 변수를 오염시키지 않습니다.

  //step 定义JQuery的作用域
(function ($) {
})(jQuery);
로그인 후 복사

2. 플러그인에 확장 메소드 추가:

//step01 定义JQuery的作用域
(function ($) {
  //step02 插件的扩展方法名称
  $.fn.easySlider = function (options) {
    
  }
})(jQuery);
로그인 후 복사

3. 기본값 설정:

//step 定义JQuery的作用域
(function ($) {
  //step-a 插件的默认值属性
  var defaults = {
    prevId: ‘prevBtn‘,
    prevText: ‘Previous‘,
    nextId: ‘nextBtn‘,
    nextText: ‘Next‘
    //……
  };
  //step 插件的扩展方法名称
  $.fn.easySlider = function (options) {
    //step-b 合并用户自定义属性,默认属性
    var options = $.extend(defaults, options);
  }
})(jQuery);
로그인 후 복사

그 중: var options = $.extend(defaults, options) 는 의미합니다. 옵션이 기본값을 무시하고 해당 값을 옵션에 할당함을 나타냅니다.
플러그인 환경에서는 사용자가 설정한 값이 플러그인의 기본값보다 우선한다는 의미입니다. 사용자가 기본값으로 속성을 설정하지 않으면 플러그인의 기본값이 계속 유지됩니다. .

4. jquery 선택기 지원:

 //step 定义JQuery的作用域
(function ($) {
  //step-a 插件的默认值属性
  var defaults = {
    prevId: ‘prevBtn‘,
    prevText: ‘Previous‘,
    nextId: ‘nextBtn‘,
    nextText: ‘Next‘
    //……
  };
  //step 插件的扩展方法名称
  $.fn.easySlider = function (options) {
    //step-b 合并用户自定义属性,默认属性
    var options = $.extend(defaults, options);
    //step 支持JQuery选择器
    this.each(function () {
    });
  }
})(jQuery);
로그인 후 복사

5. JQuery 링크 호출 지원:

링크 호출 효과를 얻으려면 루프의 각 요소를 반환해야 합니다

//step 定义JQuery的作用域
(function ($) {
  //step-a 插件的默认值属性
  var defaults = {
    prevId: ‘prevBtn‘,
    prevText: ‘Previous‘,
    nextId: ‘nextBtn‘,
    nextText: ‘Next‘
    //……
  };
  //step 插件的扩展方法名称
  $.fn.easySlider = function (options) {
    //step-b 合并用户自定义属性,默认属性
    var options = $.extend(defaults, options);
    //step 支持JQuery选择器
    //step 支持链式调用
    return this.each(function () {
    });
  }
})(jQuery);
로그인 후 복사

6. 플러그인의 메소드:

플러그인에서 정의한 메소드는 외부 세계에서 직접 호출할 수 없습니다. 플러그인에서 정의한 메소드는 외부 환경을 오염시키지 않습니다.

//step01 定义JQuery的作用域
(function ($) {
  //step03-a 插件的默认值属性
  var defaults = {
    prevId: ‘prevBtn‘,
    prevText: ‘Previous‘,
    nextId: ‘nextBtn‘,
    nextText: ‘Next‘
    //……
  };
  //step06-a 在插件里定义方法
  var showLink = function (obj) {
    $(obj).append(function () { return "(" + $(obj).attr("href") + ")" });
  }
  //step02 插件的扩展方法名称
  $.fn.easySlider = function (options) {
    //step03-b 合并用户自定义属性,默认属性
    var options = $.extend(defaults, options);
    //step4 支持JQuery选择器
    //step5 支持链式调用
    return this.each(function () {
      //step06-b 在插件里定义方法
      showLink(this);
    });
  }
})(jQuery);
로그인 후 복사

위 콘텐츠에서는 jQuery를 사용하여 플러그인을 정의하는 방법을 소개합니다. 마음에 드셨으면 좋겠습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿