首页 > 其他 > 详细

通过原型截获input.value的方法

时间:2021-02-24 12:39:09      阅读:24      评论:0      收藏:0      [点我收藏+]
在原来的属性描述符上重写:
 function customInputSetter(){

  var descriptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value");
  var originalSet = descriptor.set;

  // define our own setter
  descriptor.set = function(val) {
    console.log("Value set", this, val);
    originalSet.apply(this,arguments);
  }

  Object.defineProperty(HTMLInputElement.prototype, "value", descriptor);
}


保留之前的属性描述符的set:
const original = Object.getOwnPropertyDescriptor(target, key);
  Object.defineProperty(target, key, {
    set(value) {
      d.set!.call(this, value);
      if (original && original.set) {
        original.set.call(this, value);
      }
    },
  });

 



通过原型截获input.value的方法

原文:https://www.cnblogs.com/zhishaofei/p/14440401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!