jQuery 플러그인 작성으로 시작했습니다. 나는 세 개의 작은 플러그인을 작성했지만 실제로 그 의미를 모르고 모든 플러그인에 줄을 복사했습니다. 누군가 이것에 대해 조금 더 말할 수 있습니까? 아마도 프레임 워크를 작성할 때 언젠가 설명이 유용 할 것입니다 :)
이것은 무엇을 하는가? (어쨌든 jQuery를 확장한다는 것을 알고 있지만 이것에 대해 알아야 할 다른 것이 있습니다)
(function($) {
})(jQuery);
플러그인을 작성하는 다음 두 가지 방법의 차이점은 무엇입니까?
타입 1 :
(function($) {
$.fn.jPluginName = {
},
$.fn.jPluginName.defaults = {
}
})(jQuery);
타입 2 :
(function($) {
$.jPluginName = {
}
})(jQuery);
유형 3 :
(function($){
//Attach this new method to jQuery
$.fn.extend({
var defaults = {
}
var options = $.extend(defaults, options);
//This is where you write your plugin's name
pluginname: function() {
//Iterate over the current set of matched elements
return this.each(function() {
//code to be inserted here
});
}
});
})(jQuery);
나는 여기서 벗어날 수 있고 아마도 모두 같은 것을 의미 할 것입니다. 혼란 스러워요. 어떤 경우에는 이것이 Type 1을 사용하여 작성한 플러그인에서 작동하지 않는 것 같습니다. 지금까지 Type 3은 나에게 가장 우아해 보이지만 다른 것에 대해서도 알고 싶습니다.
(function($) { })(jQuery)
는 말했다 : "나는 어떻게 든 jQuery를 확장 알고 [...]". 분명히 당신은 할 수 없습니다 당신의 문은 100 % 거짓이기 때문에 알고있다. 그건 그렇고 미래 독자에게 오해의 소지가 있습니다. 이것을보십시오 : stackoverflow.com/a/32550649/1636522 .
(function($) { })(jQuery);
코드$
는 일반적으로 예를 들어 결과가 아닌 다른 것을 의미jQuery
하더라도 폐쇄 내부에 있는 코드를 래핑합니다 . 이렇게하면 플러그인이 작동하는지 여부에 관계없이 :)$
$.noConflict()
$ === jQuery