无法在chrome中触发setter函数

时间:2015-03-20 09:00:32

标签: javascript ecmascript-5

<input type="text" id="test">
<script type="text/javascript">
    var test=document.getElementById("test");
    Object.defineProperty(test.style,"width",{
        set:function(){
            alert(1);
        }
    });
   test.onfocus=function(){
       test.style.width="120px";
   }
</script>

当输入的宽度发生变化时,可以在IE11和FireFox中触发setter功能,但它无法在chrome中工作。

1 个答案:

答案 0 :(得分:3)

不幸的是,它看起来像是Chrome中的旧错误:

  

在Chrome中,与其他浏览器不同,CSSStyleDeclaration是一个函数而不是一个对象。

相关