我有以下功能。
<script type="text/javascript">
window.onbeforeprint = expandAll;
function expandAll(){
$(".fieldset:gt(0)").slideDown("fast");
}
</script>
对于这个html
<table class="sectionHeader" ><tr ><td>Heading</td></tr></table>
<div style="display:none;" class="fieldset">Content</div>
我在页面上有几个内容块,但是当我打印预览或打印时,我可以看到所有div在打开打印预览或打印之前向下滑动,但在实际打印预览或打印输出时它们都崩溃了。
任何人都知道为什么会这样?
感谢。
答案 0 :(得分:3)
您需要使用打印样式表,例如
<link href="/css/print.css" rel="stylesheet" type="text/css" media="print"/>
您可以专门针对您希望打印页面的外观进行设置,而无需使用JS对其执行任何操作。
答案 1 :(得分:1)
CSS媒体仅适用于演示,除非JavaScript使用样式对象或jQuery css方法,否则无法使用CSS更改禁用JavaScript
你需要绑定到unprint文档窗口的beforeprint事件, 一般来说,jquery只是放下并且所有小写的事件名称都是
`function expandAll() { $(".fieldset:gt(0)").slideDown("fast"); } $( window ).bind( "beforeprint", expandAll ); // Anonymous would look like $( window ).bind( "beforeprint", function() { $(".fieldset:gt(0)").slideDown("fast"); } );`