【问题标题】:How can I hide my menu of buttons while printing?如何在打印时隐藏我的按钮菜单?
【发布时间】:2017-09-22 15:42:52
【问题描述】:

我有一个按钮,可以打印正在查看的当前页面。当我去打印时,我想隐藏包含在 div 'mainMenuDiv' 内的按钮菜单。

以下似乎都不起作用,并产生未捕获的 null 样式错误。

document.getElementById('mainMenuDiv').style.display = 'none';
document.getElementById('mainMenuDiv').style.visibility = 'hidden';

这是我的打印屏幕代码

    <button className="printBtn" onClick={this.printPage}>PRINT SCREEN</button>

printPage() {
        window.print();
    }

不知道如何在不使用上述 document.getElementById 调用的情况下隐藏 mainMenuDiv

【问题讨论】:

  • console.log(document.getElementById('mainMenuDiv')) 在您的开发工具中打印了什么?
  • 空/未定义
  • 所以你有你的答案;) 在你的 HTML 中找不到元素。仔细检查您的 javascript 代码中的 ID 是否与 HTML 中的实际 ID 匹配,以及您的脚本是否添加在 body 结束标记之前。
  • 我可能应该考虑到 mainMenuDiv 是 CLASS 而不是 ID - 哎呀
  • 现在它给了我 'Uncaught TypeError: Cannot set property 'display' of undefined'

标签: javascript html reactjs printing hide


【解决方案1】:

您可以使用名为print@media 类型并通过CSS 控制它:

@media print {
  #mainMenuDiv {
    display: none;
    visibility: hidden;
  }
}

【讨论】:

  • Yes,和普通的 CSS 一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2016-05-16
  • 2016-09-04
  • 2011-10-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
相关资源
最近更新 更多