【发布时间】:2015-06-11 17:28:01
【问题描述】:
我有这个 html:<div id="zoom">...</div>。加载页面时,我将其设置为“显示:无”。当某个事件被触发时,“zoom” id 被设置为“display:block”。但是,我想要的是,如果用户打印页面,即使在该特定事件被触发后,它也永远不会打印“缩放”ID 中的内容。该事件将其设置为通过 jQuery 阻止:
$("#zoom").css({"display":"block"});
有没有办法在 jQuery 中定义它应该只应用于屏幕媒体?上面的代码将它设置为所有媒体类型。
【问题讨论】:
-
您是否尝试过使用印刷媒体查询?看起来像您在这种情况下会使用的,但从您帖子中的措辞听起来您已经熟悉媒体查询。
-
你可以制作一个打印按钮,当点击它时,隐藏或完全删除 div
-
我相信唯一的完整证明方法就像发布的链接一样。可以忽略打印按钮,任何 JS 本质上都会内联添加样式,因此在打印时会持续存在,因为打印将使用当前的 DOM 布局。我不完全确定 CSS 中的
!important之类的东西是否会覆盖内联样式,但有可能。使用!important也会有其他问题。因此,如果谨慎使用并且它可以工作,但我不想在我的 CSS 中使用重要的东西,因为它很难覆盖。 -
@Leeish
!important会覆盖内联样式,只要这些内联样式未同时指定为!important -
我在下面看到了。我仍然会使用 !important ,除非它只是为了几件事。但我想如果
!important真的只在印刷媒体类型中,那将是可以管理的。就这一点而言,比另一个 js lib 更好。
标签: javascript jquery css