javascript - 使用 JavaScript 样式打印页面

标签 javascript printing

我有一个包含 60 个不同输入的页面。它们都是数字,需要根据输入之一进行检查。如果该输入比父级 div 大 3,则更改为红色。一切都工作得很好,除非我尝试打印通过 javascript 函数提供的样式 (document.getElementById(classid).style.backgroundColor = "red";) 不显示打印。如何让页面以函数给定的样式打印?

<script type="text/javascript">
function CheckThisNumber(val, id){
    var x = document.getElementById("a6").value;
    var y = Number(x) +3;
    var classid = "p" + id;
    if((val)>=y) { 
    document.getElementById(classid).style.backgroundColor = "red"; } 
    else { document.getElementById(classid).style.backgroundColor = "white"; }
}
</script>

众多输入之一:

<div class="a1" id="pa1">
<strong>A1</strong><br><input type="number" name="a1" id="a1" style="width:95%" onKeyUp="CheckThisNumber(this.value,this.id)">
</div>

最佳答案

正如我在评论中所说,它基于浏览器的打印设置。您可以在浏览器的设置中启用它,它只会正常打印它们,但默认情况下它被禁用以节省墨水。

某些浏览器支持非标准 CSS 来强制打印 BG

-webkit-print-color-adjust: exact

信息:https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-print-color-adjust

另一个退路是使用盒子阴影

.redBG { box-shadow: inset 0 0 0 100px #FF0000; }
.whiteBG { box-shadow: inset 0 0 0 100px #FFFFFF; }

如果您在较大的文本区域上使用它,您可能需要将 100px 设置为更大的值。

关于javascript - 使用 JavaScript 样式打印页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26806409/

相关文章:

javascript - 如何使用 jQuery 保存数据?

javascript - 用管道替换字符串中的所有反斜杠

java - 用 Java 打印 HTML 文件

java - 无法打印整个数组

memory - 单击 CrViewer 打印按钮时出现 "Attempted to read or write protected memory.."错误

javascript - 使用 MVC Razor 语法检查 View 模型属性在 Javascript 中是否具有值

javascript - ES6 导入不起作用

Javascript 日期选择器排除周末、日期数组和每周的特定日期

printing - 标签打印机的自定义纸张尺寸(Brother QL 570)

css - 打印的网页看起来与 Google Chrome 打印预览中的不同