Javascript-getOwnPropertyDescriptor&;DOM原型元素的defineProperty
我试图捕获任何IMG标记的“src”属性上的读/写操作。为此,我尝试在HTMLImageElement对象上使用getOwnPropertyDescriptor&defineProperty函数(因为我希望避免为每个img定义它们) 关于getOwnPropertyDescriptor,我看到了:Javascript-getOwnPropertyDescriptor&;DOM原型元素的defineProperty,javascript,dom,properties,ecmascript-5,Javascript,Dom,Properties,Ecmascript 5,我试图捕获任何IMG标记的“src”属性上的读/写操作。为此,我尝试在HTMLImageElement对象上使用getOwnPropertyDescriptor&defineProperty函数(因为我希望避免为每个img定义它们) 关于getOwnPropertyDescriptor,我看到了: var proto = Object.getPrototypeOf(HTMLImageElement); var own = Object.getOwnPropertyDescriptor(proto
var proto = Object.getPrototypeOf(HTMLImageElement);
var own = Object.getOwnPropertyDescriptor(proto, "src");
// own is undefined in IE10/FF8/Chrome15
关于上面proto元素的defineProperty,我看到getter/setter函数只在Chrome中运行,而不是在我预期的时间运行,getter函数中的“this”是DOM窗口的原型。我的测试代码可以在
getOwnPropertyDescriptor在这种情况下应该工作吗?当JS访问“src”属性时,是否应该触发getter/setter函数
谢谢
src
是实例属性,而不是原型属性。使用类似以下内容:
参考资料
var own = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, "setAttribute");