나는 래퍼 요소 안에 여러 요소를 만들고이 모든 함수를 JavaScript 개체에 저장하는 라이브러리를 작성하고 있습니다. 페이지에이 개체의 인스턴스가 여러 개있을 수 있으므로 ID를 피하려고합니다. 사용자가 일부 요소를 변경할 수 있도록하는 기능이 있으며 이미지 추가 방법을 찾는 데 도움이 필요합니다.image.onload() 함수에 이미지를 추가 할 요소를 전달하는 방법
foo.prototype.rebrand = function(line1, line2, imgUrl){
this.branding.childNodes[1].innerHTML = line1;
this.branding.childNodes[2].innerHTML = line2;
var brandImage = document.createElement('img');
brandImage.onload = function(){
this.branding.childNodes[0].appendChild(brandImage);
//this won't work
}
brandImage.src = imgUrl;
}
당신은 foo.rebrand('hello', 'world', 'example.png')
는 불행하게도, .onload
함수 내에서, this
이미지 요소 자체를 참조한다 부를 것이다 : 여기
this.branding.childNodes[0]
을 이미지 onload에 어떻게 전달할 수 있습니까?
나는 기능과 같이 작성하는 경우 :
brandImage.onload = function(anything){
this.branding.childNodes[0].appendChild(brandImage);
//this won't work
}
다음
anything
그냥
onload
이벤트에 참조가 될 것입니다.
편집 jsFiddle를 추가합니다 : http://jsfiddle.net/KtJd6/
http://jsfiddle.net/jfriend00/kkXCg/는 당신이 ='VAR를 시도,'대신 that''사용
당신은 여기서 일 볼 수 있습니까? 그래서 당신은'this'에 대한 지역 참조를 가지고 있습니까? –
그래, 내 개체에 var'self = this;'가 있지만 onload에서'self'는'window' 개체를 참조하는 것으로 보입니다. –
더 많은 바이올린 데모가 있습니까? –