有没有办法阻止在DOMNode上设置样式属性?

时间:2018-06-11 14:44:24

标签: javascript css

假设我的组件有一个DOMNode(简单为<div>),其他组件也可以控制。

有没有办法可以防止其他组件通过JS设置样式属性?

例如,我设置了domNode.style.color = "blue",我可以阻止某人在同一个color设置内联样式domNode吗?

如果这是CSS,我可以控制特异性,不知道如何通过JS完成。

(我仅限于使用ES5)

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:2)

没有办法做到这一点,如果你想确保没有人可以破坏你的风格,唯一的方法是在css中使用!important标志

#mydiv {
 color: black!important; /* color will be always black */
}

答案 1 :(得分:0)

无法阻止在JavaScript中更改DOM节点的内联CSS。但是,我想出了一个解决方法。

  1. 如果您不希望再次更改元素,请在元素上设置data-值。
  2. 然后,当另一个组件想要更改颜色属性时,请检查您设置的值是否存在,如果存在,则中止样式更改。