$.fn은 jquery 네임스페이스와 fn의 메서드 및 속성을 참조하며 이는 모든 jquery 인스턴스에 유효합니다.
$.fn.abc()
를 확장하면 다음과 같이 할 수 있습니다. $("#div").abc();
일반적으로 확장 방법을 사용하여 확장합니다. API를 참조하세요.
$.fx는 jquery의 특수 효과를 나타냅니다.
디스플레이, 슬라이드, 페이드, 애니메이션 등을 사용하는 경우
$.fx.off는 애니메이션을 끌 수 있지만 실제로는 결과를 직접 표시합니다.
jquery의 확장 및 fn.extend
jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다.
jQuery.fn.extend(object)
jQuery.extend(object);
jQuery.extend(object); jQuery 클래스 자체를 확장합니다.
jQuery.fn.extend(object); jQuery 객체에 메서드를 추가합니다.
fn이 뭐죠? jQuery 코드를 보면 찾기가 어렵지 않습니다.
jQuery.fn = jQuery.prototype = {
init: function( selector, context ) {//....
//......
}; jQuery.fn = jQuery.prototype. 당신은 확실히 프로토타입에 익숙합니다.
자바스크립트에는 클래스에 대한 명확한 개념이 없지만 이를 이해하려면 클래스를 사용하는 것이 더 편리합니다.
jQuery는 매우 잘 캡슐화된 클래스입니다. 예를 들어 $("#btn1") 문을 사용하면 jQuery 클래스의 인스턴스가 생성됩니다.
jQuery.extend(object); jQuery 클래스에 클래스 메소드를 추가합니다. 이는 정적 메소드를 추가하는 것으로 이해할 수 있습니다. 예:
$.extend({
add:function(a,b){return a b;}
})
는 jQuery에 add라는 "정적 메서드"를 추가한 다음 jQuery가 도입된 곳에서는 이 메소드를 사용할 수 있습니다.
$.add(3,4); //return 7
jQuery.fn.extend(object); jQuery.prototype을 확장하려면 "member"를 추가합니다. 기능". jQuery 클래스의 인스턴스는 이 "멤버 함수"를 사용할 수 있습니다.
예를 들어, 특수 편집 상자를 생성하는 플러그인을 개발하고 싶습니다. 클릭하면 현재 편집 상자의 내용이 경고됩니다. 다음을 수행할 수 있습니다.
Jquery 코드: