打印到打印机时隐藏/显示div

时间:2012-06-18 15:40:57

标签: javascript jquery printing

是否可以点击页面上的按钮/图像/链接并包含/排除其他元素的打印? (在实际打印机上) 我想给用户选择要打印的元素。用JQuery的jQuery这可行吗?

编辑以便更好地理解:我想让用户通过添加打印来选择要打印的页面的哪个部分/不要在每个div旁边打印此按钮,覆盖我的默认设置在我的print.css文件中设置。

更新:在理查德尼尔伊拉根的建议之后,我尝试了以下内容,我觉得我很接近,但不能指出它。有什么建议吗?

<style type="text/css">
@media print { 
    .no-print { display:none; } 
}
</style>

<script>
$(document).ready(function() {
    $('.dontPrint').click(function() { $('maybe').addClass('no-print'); });
});
</script>

<img class="dontPrint" src="images/cancel.png" title="Dont print bla bla" /></a>
<div id="maybe">bla bla</div>

2 个答案:

答案 0 :(得分:9)

是。您可以使用CSS的@media print媒体类型选择器来完成此操作。示例(打印时隐藏所有输入):

@media print {
    input {
        display: none;
    }
}

作为设计模式,您可以将打印介质选择器与其余样式表组合以实现切换效果。

HTML:

<div class="for-screen">
    <input type="submit" value="Shown when not printing">
</div>
<div class="for-print">
    <p>Shown instead when printing</p>
</div>

CSS:

.for-screen {display: block;}
.for-print {display: none;}

@media print {
    .for-screen {display: none;}
    .for-print {display: block;}
}

关于此事的更多内容:

答案 1 :(得分:1)

你应该用css设置它。

媒体= “打印”

尝试这样的事情:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />