我想在每个html元素标题属性上放置一个getter / setter。
我会很高兴,我不知道自己在做什么,但我已经尝试重新定义了所有权属性,但它不可写,所以我试图重新分配像这样的Element.property:
var o = {};
Object.defineProperty(o, 'innerText', {
configurable: true, enumerable: true,
get: function() { return this.__innerText__; },
set: function(y) { console.log('setting title'); this.__innerText__ = y; }
});
Object.defineProperty(o, '__innerText__', {
configurable: true, writable: true, enumerable: true, value :""
});
Element.prototype = Object.assign(o, Element.prototype);
let div = document.createElement('div')
document.body.appendChild(div);
div.innerText = "hey"
// Uncaught TypeError: Illegal invocation
// at Function.assign (<anonymous>)