在 window.Element.prototype.className 调用时调用 getter
Invoking getter when window.Element.prototype.className called
我试图在每次调用 Element.className 时调用 getter。
我已经得出结论:
Object.defineProperty(window.Element.prototype, "className", {
get(value){
console.log(value);
debugger;
},
set(value){
console.log(value);
debugger;
}
});
但由于某种原因它不起作用。
当我调用 somenode.className 时,我没有调用 getter。
有什么想法吗?
className
是实例的值,因此不会在原型中查找,而是在对象本身中查找:
lookup --> Instance --> Prototype
innerHTML querySelector
className querySelectorAll
id
... ...
您必须在您使用的每个实例上定义 getter/setter。
我试图在每次调用 Element.className 时调用 getter。 我已经得出结论:
Object.defineProperty(window.Element.prototype, "className", {
get(value){
console.log(value);
debugger;
},
set(value){
console.log(value);
debugger;
}
});
但由于某种原因它不起作用。 当我调用 somenode.className 时,我没有调用 getter。 有什么想法吗?
className
是实例的值,因此不会在原型中查找,而是在对象本身中查找:
lookup --> Instance --> Prototype
innerHTML querySelector
className querySelectorAll
id
... ...
您必须在您使用的每个实例上定义 getter/setter。