Javascript 有没有办法防止在DOMNode上设置样式属性?
假设我的组件有一个DOMNode(像Javascript 有没有办法防止在DOMNode上设置样式属性?,javascript,css,Javascript,Css,假设我的组件有一个DOMNode(像一样简单),另一个组件也可以控制它 有没有一种方法可以防止另一个组件通过JS设置样式属性 例如,我已经设置了domNode.style.color=“blue”,我可以阻止某人在同一domNode上设置内联样式color 如果这是CSS,我可以控制特异性,但不确定如何通过JS实现 (我仅限于使用ES5) 感谢您的帮助 不,没有办法,如果你想确保没有人能破坏你的风格,唯一的办法就是使用!css中的重要标志 #mydiv { color: black!impor
一样简单),另一个组件也可以控制它
有没有一种方法可以防止另一个组件通过JS设置样式属性
例如,我已经设置了domNode.style.color=“blue”
,我可以阻止某人在同一domNode
上设置内联样式color
如果这是CSS,我可以控制特异性,但不确定如何通过JS实现
(我仅限于使用ES5)
感谢您的帮助 不,没有办法,如果你想确保没有人能破坏你的风格,唯一的办法就是使用
!css中的重要标志
#mydiv {
color: black!important; /* color will be always black */
}
不,没有办法,如果你想确保没有人能破坏你的风格,唯一的办法就是使用!css中的重要标志
#mydiv {
color: black!important; /* color will be always black */
}
没有办法阻止在JavaScript中更改DOM节点的内联CSS。然而,我想出了一个解决办法
在不希望再次更改元素时,在元素上设置一个data-
值
然后,当另一个组件想要更改颜色属性时,让它检查您设置的值是否存在,如果存在,则中止样式更改
没有办法阻止在JavaScript中更改DOM节点的内联CSS。然而,我想出了一个解决办法
在不希望再次更改元素时,在元素上设置一个data-
值
然后,当另一个组件想要更改颜色属性时,让它检查您设置的值是否存在,如果存在,则中止样式更改
我仍然可以使用JavaScript覆盖它:domNode.style.color=“blue!important”代码>…我仍然可以使用JavaScript覆盖它:domNode.style.color=“blue!important”代码>…不,不是直接的。ShadowDOM将是一种从“其他东西”封装组件的方法。您可能可以用它做一些详细的工作,但我怀疑它是否值得。不,不是直接的。阴影DOM将是一种从“其他东西”封装组件的方法。您可能可以用它做一些详细的工作,但我怀疑它是否值得。或者您无法编辑其他组件的代码?或者您无法编辑其他组件的代码?