나는 내가 다시 생각하고있는 태깅 플러그인을 가지고있다.플러그인 내부 함수에서 jquery-ui 플러그인 변수에 액세스 하시겠습니까?
저는 매번 생성되는 객체를 계속 지나가고 있습니다. 대신, 이제는 값을 전달하고 객체를 반환하는 함수가 있습니다. 플러그인에서 변수 중 하나에 액세스해야하는 경우를 제외하고는 정상적으로 작동합니다.
당신이 아래를 보면 당신은 _addTag
안에 내가 this.tag
로 전화를 걸 내가 위젯을 호출하지 않습니다하여 tagArray
의 요소 수 있지만 this
에 내 전화를 저장할 볼 수 있습니다.
(function ($) {
$.widget("ui.tagit", {
// default options
options:{},
//initialization function
_create:function() {
var self = this;
this.tagsArray = [];
...
...
this._addTag('label', 'value');
}
},
_addTag:function (label, value) {
...
//THIS IS WHERE THE TAG OBJECT IS CREATED
var tag = new this.tag(label, (value === undefined ? label : value));
tag.element = $('<li class="tagit-choice"'
+ (value !== undefined ? ' tagValue="' + value + '"' : '')
+ '>' + label + '<a class="tagit-close">x</a></li>');
...
},
tag: function (label, value, element) {
var self = this;
return {
label:label,
value:value,
element:element,
index: self.tagsArray.length
}
}
});
})(jQuery);
this
에 대한 호출
$.widget.tag
__proto__: Object
constructor: function (label, value, element) {
__proto__: Object
좋아, 내 문제를 발견했다, 그것은'new' 키워드를 사용했다. 그래서 내 다음 질문은. 'new' 키워드는 어떤 차이점이 있습니까? – Hailwood