jquery를 사용하는 객체에 약간의 문제가 있습니다. jquery가이 포인터를 덮어 쓰기 때문에이 포인터를 변수에 저장하지 않고 하위 메서드를 호출 할 수 없습니다.이 방법이 선호되는 방법입니까 아니면 더 좋은 솔루션입니까? 이 포인터를 객체에 저장하는 방법이 있나요? (다른 이름을 가진 클래스 메쏘드처럼)?jquery를 사용할 때 javascript 내부 메소드가 호출됩니다.
자바 스크립트로 자바 스크립트를 배우려고 노력했지만 좋은 부분은 있지만 아직 모든 단점을 이해하고 있다고 생각하지는 않습니다. :).
//from javscript the good parts
if (typeof Object.create !== 'function') {
Object.create = function (o) {
var F = function() {};
F.prototype = o;
return new F();
};
}
var Tester = {
printData: function (text) {
console.log(text)
},
start: function() {
var that = this;
jQuery('id').click(function() {
that.printData('firstColumn')
});
}
};
var test = Object.create(Tester)
test.start()
안부 앤더스 Olme 이는 일반적으로 Overwritten "this" variable problem or how to call a member function?
Firefox 4를 사용하고 있습니까? 'Object.create'는 매우 새롭고 FF4 AFAIK에서만 지원됩니다. – RoToRa
더 나은 해결책이 없다고 생각합니다. 'var that = this'는 –
과 같은 문제를 해결하는 고전적인 방법입니다. 객체를 javscript에서 좋은 코드를 만들어 다른 곳에 포함 시켰습니다. – Buzzzz