예상대로 작동하지 않는 jQuery 확장에 대한 약간의 혼란이 있습니다. 나는 정의 다음과 같은 기능이 있습니다jQuery 확장 (범위?) 질문
$.fn.poster = function() {
this.each(function() {
self = $(this);
self.click(function() {
/* does stuff */
$.post(url, data, function(d, t) { handle_storage(d, t, self); }, "json");
});
});
}
handle_storage = function(storages, status, caller) {
container = $("<div>");
$("<span>").poster().html(storage.name).appendTo($("<li>").addClass("folder").appendTo(container));
}
$(function() {
$("li.storage span").poster();
});
준비 기능의 포스터()에 대한 초기 호출 작동을하지만, handle_storage() 콜백 내에서, 나는 "() 정의되지 포스터"오류를를 얻을. 뭐라 구요?
(이)'인터넷 익스플로러 (나는 "구현되지 않은 오류"를 얻는다.) 왜냐하면 self는 윈도우 객체의 속성이기 때문이다. var 키워드 ('var self = $ (this);')를 사용하면 효과가있다. –