0
플러그인을 만들었지 만 "로컬"기능으로 수행 할 작업에 대해 알고 싶습니다. 여기jquery 플러그인의 로컬 메소드 및 네임 스페이스
내가 무슨 짓을했는지 개략적 인 : 당신이 볼 수 있듯이
(function($) {
var methods = {
init : function(options) {
// CODE ...
// Call of a local function
_test(this);
// CODE .....
},
destroy : function() {
// CODE .....
_test(this);
// CODE .....
}
};
function _test(container) {
// My code : example :
$(container).append("<div id='myplugin'></div>");
}
$.fn.myplugin = function(method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
}
else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
}
else {
$.error('Method ' + method + ' does not exist on jQuery.myplugin');
}
};
})(jQuery);
, 내가 직접 방법의 기능이 아니라 다른 _functions에 코드를 삽입하지 않습니다. _functions는 플러그인의 로컬 또는 개인 기능으로 간주 될 수 있습니까? 나는 플러그인 외부에서 호출하는 것이 성공하지 못하므로 개인 함수로 간주 될 수 있습니다.
메소드 객체의 함수에 직접 코드를 넣어야합니까? 몇 가지 메서드에서 사용할 함수를 선언하는 방법은 무엇입니까?
그리고 네임 스페이스는 어떻습니까? 정말로 이해하지 마라.
감사합니다.
나는 모든 것을 이해하지 못합니다. – bastien
@bastien 어떤 부분을 이해하지 못합니까? –
함수를 선언하는 함수는 private이라는 것을 알고 있습니다. 내 메소드 객체의 메티 드는 내 웹 페이지의 코드에서 호출되기 위해 public입니다. 그러나 메소드 객체의 메소드에서 호출하는 함수가 비공개가 아닌 이유를 이해할 수 없습니다 ... 플러그인에서 외부로 직접 호출하는 것은 불가능하다고 생각합니다. 또한, 메소드 객체의 둘 이상의 메소드에서 함수를 사용하려면 솔루션은 무엇입니까? – bastien