jQuery.extend와 jQuery.fn.extend의 차이점은?
jquery plugin 구문을 이해하려고 합니다. 왜냐하면 두 개의 플러그인을 하나로 병합하고 싶기 때문입니다.인터벌 해제를 중지하거나 여러 번 실행할 수 있어야 하는 깜빡이입니다.
어쨌든, 이 구문은 다음과 같습니다.
jQuery.fn.extend({
everyTime: function(interval, label, fn, times) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, times);
});
},
oneTime: function(interval, label, fn) {
return this.each(function() {
jQuery.timer.add(this, interval, label, fn, 1);
});
},
이것.
$.fn.blink = function(options)
{
=가 없는 첫 번째 방법이 여러 개의 메서드를 한 번에 설정하는 방법처럼 보이기 때문입니다.이게 맞나또한 여기 있는 동안 jquery 객체에 요소와 약간의 논리를 추가해야 하는 이유는 무엇입니까?
jQuery.extend({
timer: {
global: [],
guid: 1,
dataKey: "jQuery.timer",
(이것은 타이머 플러그인에서 가져온 것입니다.)
jQuery.extend는 추가 기능이 있는 모든 개체를 확장하는 데 사용되지만 jQuery.fn.extend는 jQuery.fn 개체를 확장하는 데 사용되며, 실제로는 (각 기능을 별도로 할당하는 대신) 한 번에 여러 플러그인 기능을 추가합니다.
jQuery.extend:
var obj = { x: function() {} }
jQuery.extend(obj, { y: function() {} });
// now obj is an object with functions x and y
jQuery.fn.extension:
jQuery.fn.extend( {
x: function() {},
y: function() {}
});
// creates 2 plugin functions (x and y)
jQuery.extend({
abc: function(){
alert('abc');
}
});
usage: . (선택기가 필요 없음)$.ajax()
.)
jQuery.fn.extend({
xyz: function(){
alert('xyz');
}
});
usage: . (선택 또는 필요한 경우)$('#button').click()
.)
주로 구현하는 데 사용됩니다.$.fn.each()
.
jQuery.extend와 jQuery.fn.extend의 차이점은?
사실, 그들의 기준 이외에는 아무것도 없습니다.jQuery 소스에서 다음을 읽을 수 있습니다.
jQuery.extend = jQuery.fn.extend = function() { … };
그렇다면, 어떻게 사람을 구조할까요?설명서에는 다음과 같은 내용이 있습니다.
두 개 이상의 개체의 내용을 첫 번째 개체로 병합합니다.
속성을 복사하고 플래그를 붙여 중첩된 개체를 반복하는 for-in-loop일 뿐입니다.그리고 또 다른 기능:
하나의 인수만 제공되는 경우
$.extend()
, 이는 대상 인수가 생략되었음을 의미합니다.
// then the following will happen:
target = this;
그래서 만약 그 기능이 호출되면jQuery
그 자체(명시 대상 없이)는 jQuery 네임스페이스를 확장합니다.그리고 그 기능이 호출되면jQuery.fn
(명시 대상 없이), 모든 (플러그인) 메서드가 있는 곳에 jQuery 프로토타입 개체를 확장합니다.
이 블로그 게시물에 대한 설명이 좋습니다.
$.fn.extend({
myMethod: function(){...}
});
//jQuery("div").myMethod();
$.extend({
myMethod2: function(){...}
});
//jQuery.myMethod2();
견적:
일반적으로 함수의 경우 jQuery 개체를 확장하고 메서드의 경우 jQuery.fn 개체를 확장해야 합니다.함수는 메서드와 반대로 DOM에서 직접 액세스하지 않습니다.
$.fn.something= function{};
는 jQuery.prototype을 가리키며 "this"를 통해 돔 요소에 액세스할 수 있도록 합니다.이제 사용할 수 있습니다.$(selector).something();
그래서 이것은 플러그인 기능으로 작동합니다.$(selector).css();
$.something = function{};
jQuery 객체 자체에 속성 또는 함수를 추가하고 "이것"을 돔 액세스에 사용할 수 없습니다. 이제 다음과 같이 사용할 수 있습니다.$.something()
; 이것은 다음과 같은 유틸리티 기능으로 작동합니다.$.trim()
그렇지만
$.fn.extend({function1(), function2()}) and $.extend({function1(), function2()})
두 개 이상의 함수를 동시에 추가할 수 있습니다.또한 두 개 이상의 객체를 제공할 경우 두 개의 객체 리터럴을 병합하는 데 사용할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/1991126/difference-between-jquery-extend-and-jquery-fn-extend
'itsource' 카테고리의 다른 글
비주얼 스튜디오 "웹 서버에서 디버깅을 시작할 수 없습니다.웹 서버가 적시에 응답하지 않았습니다." (0) | 2023.10.04 |
---|---|
디렉토리에 있는 많은 파일의 확장자를 변경하려면 어떻게 해야 합니까? (0) | 2023.10.04 |
WooCommerce 3에서 주문에 프로그래밍 방식으로 쿠폰 적용하기 (0) | 2023.10.04 |
각도 js의 확인란 선택에 따라 div를 표시/숨기는 방법 (0) | 2023.10.04 |
목록에서 임의로 MYSQL 삽입 (0) | 2023.10.04 |