You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于display: none的DOM状态与事件响应的技术疑问

关于display: none的DOM存在性与事件响应的疑问

我对display: none属性存在困惑:

  • 网上诸多文章称,当元素的display属性设置为none时,该元素不在DOM树中,这是它与opacity: 0、visibility: hidden的区别——后两者不会将元素从DOM中移除,仅使其不可见。相关说法示例:

    因为display: none实际上会将元素从DOM中移除,而visibility: hidden仅使元素不可见,但元素仍存在于DOM中。
    这是一个重要细节,因为使用display:none时,你实际上是将元素从DOM中移除了。

  • 我还看到有说法称:

    浏览器不会对设置了display: none或visibility: hidden的元素的任何事件作出响应。

但在React中,我给某个元素设置ref后将其display属性设为none,仍能在开发者工具中看到该元素,还可通过ref调用它的点击事件。我也不理解display: none作为CSS属性为何能操作DOM。

我认为设置display: none的元素仍在DOM中只是不渲染,但想确认其事件响应情况。


内容的提问来源于stack exchange,提问作者forty5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:01:12