4

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

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

更新:在 Richard Neil Ilagan 的建议之后,我尝试了以下方法,我觉得我很接近但无法确定。有什么建议么?

<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>
4

2 回答 2

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;}
}

关于此事的更多内容:

于 2012-06-18T15:42:35.373 回答
1

你应该用css设置它。

媒体=“打印”

尝试这样的事情:

<link rel="stylesheet" type="text/css" media="print" href="print.css" />
于 2012-06-18T15:44:41.563 回答