javascript - 为屏幕而不是打印媒体切换 CSS 显示

标签 javascript jquery css

<分区>

我有这个 html:<div id="zoom">...</div> .加载页面时,我将其设置为“display:none”。当某个事件被触发时,“zoom”id 被设置为“display:block”。但是,我想要的是,如果用户打印页面,即使在触发该特定事件之后,它也永远不会打印“zoom”id 中的内容。该事件将其设置为通过 jQuery 阻止:

$("#zoom").css({"display":"block"});

有没有办法在 jQuery 中定义它应该只应用于屏幕媒体?上面的代码在所有媒体类型上设置它。

最佳答案

除非我误解了这个问题,否则您应该能够只使用媒体查询进行打印。唯一奇怪的是,您可能必须使用 !important 规则,因为使用 javascript(大概是内联样式)使元素可见。

@media print {
  #zoom {
    display: none !important;
  }
}

关于javascript - 为屏幕而不是打印媒体切换 CSS 显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30787519/

上一篇:html - 一行中的多个 div id 不显示内联

下一篇:html - 制作一个 <div> 以缩小以适合内容

相关文章:

html - 根据 JSON 文件数据更改跨度类标题

javascript - 在文档完全加载之前执行主干脚本

javascript - 为什么我的 bundle 中的自定义 js 没有显示在自定义 View MVC5 中

html - 更改自定义模态的边距颜色

javascript - 当不再选择值时反转更改(指定 ID)

javascript - 需要改变不透明度 : 0 to 1 slowly with animation using jquery

javascript - 尝试使用 CSS/Javascript 实现文本 slider ,遇到一些问题

javascript - 邪恶的 pdf - javascript 调试

javascript - redux fetch body 不使用 no cors 模式

javascript - 使用 Javascript 在特定数组值之前添加所有数组值