javascript - 为同一页面的两个部分打印 css

标签 javascript jquery

我目前正在使用一些 jquery 通过按钮打开打印对话框:

$('.print').click(function () {
        window.print();
        return false;
    });

这使用带有 media="print"的样式,它在打印之前隐藏特定的 div,如下所示:

#someDiv {
     display:none !important;
}

我想添加另一个按钮来打印这个特定的 div。我有什么选择来实现这一目标?

最佳答案

您可以使用 JavaScript 替换链接标记中对打印 css 的引用。

假设您有两个打印按钮,id 为 print1 和 print2,还有两个样式表 print1.css 和 print2.css。然后您的链接标记如下所示:

<link id="printstyle" rel="stylesheet" href="http://0.0.0.0:3000/print1.css">

和一些 Javascript/jQuery:

$("#print1").click(function(){
  $("#printstyle").attr('href', '/print1.css');
  window.print();
});

$("#print2").click(function(){
  $("#printstyle").attr('href', '/print2.css');
  window.print();
});

您可能需要确保覆盖每个样式表中定义的每个样式。

关于javascript - 为同一页面的两个部分打印 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16254400/

相关文章:

javascript - 在不使用 <map> 的情况下在 png 湖泊上创建可点击区域

javascript - DC.js根据维度计算平均值

javascript - JQuery 提交显示对话框

javascript - Angular ui-sortable 不适用于移动设备

javascript - jmeter 使用 ajax 或 javascript 发布数据

javascript - CORS:无法获取 POST 请求正文。

javascript - 我的菜单溢出空间

json - 使用 JQuery AJAX 预过滤器检查响应数据并有条件转发到 'Error' 事件处理程序

jquery - 如何使用 Typescript 通过 AMD 模块加载 Jquery 插件

javascript - 如何使用 angularjs ng-repeat 迭代并获取 json 值?