>웹 프론트엔드 >JS 튜토리얼 >jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다.

jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다.

零下一度
零下一度원래의
2017-07-23 14:59:561329검색

jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다. 즉,

jQuery.fn.extend();

jQuery.extend();

jQuery.fn

jQuery.fn = jQuery.prototype = {init: function( selector, context ) {//….//……};

jQuery.fn = jQuery.prototype이라는 것이 밝혀졌습니다.
JavaScript에는 클래스에 대한 명확한 개념이 없지만 클래스를 사용하여 이해하는 것이 더 편리합니다.
jQuery는 매우 잘 캡슐화된 클래스입니다. 예를 들어 $(“#btn1″) 문을 사용하면 jQuery 클래스의 인스턴스가 생성됩니다.

jQuery.extend(object)

  • jQuery 클래스에 클래스 메소드를 추가하는데, 이는 정적 메소드를 추가하는 것으로 이해될 수 있습니다. 예:

jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
jQuery.min(2,3); //  2 
jQuery.max(4,5); //  5
Objectj Query.extend( target, object1, [objectN])
  • 하나 이상의 다른 객체로 객체를 확장하고 확장된 객체를 반환합니다

var settings = { validate: false, limit: 5, name: "foo" }; 
var options = { validate: true, name: "bar" }; 
jQuery.extend(settings, options); //结果:settings == { validate: true, limit: 5, name: "bar" }
jQuery.fn.extend(object);

jQuery.prototype을 확장하는 것은 jQuery 클래스에 "멤버 함수"를 추가하는 것입니다. jQuery 클래스의 인스턴스는 이 "멤버 함수"를 사용할 수 있습니다.
예를 들어, 특수 편집 상자를 생성하는 플러그인을 개발하고 싶습니다. 클릭하면 현재 편집 상자의 내용이 경고됩니다. 이렇게 할 수 있습니다:

$.fn.extend({          
    alertWhileClick:function() {            
          $(this).click(function(){                 
                 alert($(this).val());           
           });           
     }       
});       
$("#input1").alertWhileClick(); // 页面上为:    
$("#input1") //为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。

jQuery.extend()에 대한 호출은 메서드를 객체의 인스턴스로 확장하지 않습니다. 이를 참조하는 메서드도 jQuery.init()와 같은 jQuery 클래스를 통해 구현되어야 합니다. 및 jQuery.fn에 대한 호출은 메서드를 개체의 프로토타입으로 확장하므로 jQuery 개체가 인스턴스화되면 이러한 메서드가 jQuery.js

에 모두 반영됩니다.
jQuery.fn.extend = jQuery.prototype.extend

객체를 jQuery의 프로토타입으로 확장할 수 있습니다. 이 경우 플러그인 메커니즘입니다.

아아아아

위 내용은 jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.