微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为单个样式属性定义一个 setter

如何解决为单个样式属性定义一个 setter

根据当前的 CSS 规范 CSsstyleDeclaration.setproperty()一个直接写入样式属性的简写。就像下面的代码一样,这两行都具有相同的功能

element.style.color = "#fff";
element.style.setProperty("color","#fff");

尽管这里有一个有趣且不清楚的情况: 我找不到为单个样式属性挂钩自定义设置器的方法,因为这些没有显式设置器。更改 setProperty 方法仅适用于方法 element.style.setproperty() 的直接调用,而不适用于速记(即 element.style.color)。

两者似乎都引用了 CSsstyleDeclaration 接口,但我找不到为特定样式属性(即 element.style.color)定义 setter 的方法

MDN 声明如下:

虽然此属性被认为是只读的,但可以通过直接将字符串分配给 style 属性来设置内联样式。在这种情况下,字符串被转发到 CSsstyleDeclaration.csstext。以这种方式使用样式将完全覆盖元素上的所有内联样式。

据此,更改 csstext 的 setter 可能会拦截特定样式属性的 setter,但它仅适用于内联样式定义本身(即 element.style = 'color:#fff;')

有没有办法为单个样式属性(例如 element.style.color)定义自定义设置器,或者至少为其中任何一个设置通用设置器?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。