js监听html元素属性变化

午觉还没睡醒,一朋友发来信息,问我怎么监听div元素的display属性变化。

我的第一感觉就是用定时器呀,setInterval(),每隔0.5秒检查一次div。朋友的嫌弃的回复了”不靠谱” 三个字。

听罢,怎能忍?于是想到了vue在实现双向绑定的时候所用的数据劫持操作。遂试验一下

Object.defineProperty($('#myDiv')[0].style, 'display', {
  get: function() {
    console.log('get');
  },
  set: function(value) {
    id = value;
    console.log('set:' + id);
  }
});

这样一来,只要#myDiv的display变化,不就会触发set方法么?瞬间感觉自己好机智!

评论已关闭

  1. Ellfluigo

    Zithromax Kids Amoxicillin And Clindamycin Kamagra Frankfurt viagra Levitra Che Si Scioglie In Bocca

  2. Ellfluigo

    Cialis Generique Serieux viagra online Cialis Prix 5mg Lexapro Uk Online