在元素属性上放置一个setter

时间:2017-02-24 23:51:46

标签: javascript

我想在每个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>)

0 个答案:

没有答案