__defineSetter__
은 (는) 더 이상 파이어 폭스 최신 버전에서 작동하지 않습니다. Chrome에서 작동합니다.__defineSetter__ firefox 3.5.x 이상 대체
같은 기능을 수행하며 IE, Opera, Safari와 같은 다른 브라우저에서도 작동하는 대체 기능이 있습니까?
__defineSetter__
은 (는) 더 이상 파이어 폭스 최신 버전에서 작동하지 않습니다. Chrome에서 작동합니다.__defineSetter__ firefox 3.5.x 이상 대체
같은 기능을 수행하며 IE, Opera, Safari와 같은 다른 브라우저에서도 작동하는 대체 기능이 있습니까?
__defineGetter__
및 __defineSetter__
은 최신 Firefox에 있으며 나는 단기적으로 제거 할 계획이 없다고 생각합니다. 장기적으로, ECMAScript 5는 getters와 setter의 다른 형태를 지정하여 결국 모든 브라우저에 적용됩니다.
다음은 ECMAScript 5 getter 및 setter의 예입니다. 현재 IE 9, Chrome 5, Safari 5에서 작동합니다 (호환성 표는 here 참조).
var o = {};
Object.defineProperty(o, "p", {
get: function() {
return "A property";
},
set: function(val) {
alert("Setting " + val + "!");
}
});
편집
, 여기에 요청, 위의 ES5 코드에 해당 __defineGetter__
및 __defineSetter__
의 작업 예제로서 :
var o = {};
o.__defineGetter__("p", function() {
return "A property";
});
o.__defineSetter__("p", function(val) {
alert("Setting " + val + "!");
});
__defineGetter__ 및 __defineSetter__에 대한 작업 예제를 제공 할 수 있습니까? – jack
완료 ........... –
파이어 폭스 당신은 "보고"를 사용한다 방법 .
if(Object.prototype.watch){
instance.watch("property", function(id, prevValue, newValue){
//do operaions here on the value ---
return newValue
}
}
... 여기서 instance는 개체이고 속성은 변경 내용을보고 싶은 실제 속성입니다.
Works On My Machine ™ –