关于jquery.jqprint 打印 table的一些坑

关于jquery.jqprint 打印 table的一些坑

一、案例

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery打印插件jqprint</title>
<!-- <script language="javascript" src="jquery-1.4.4.min.js"></script> -->
<!--
如果您使用的是高版本jQuery,需要调用下面jQuery迁移辅助插件即可
<script src="http://www.jq22.com/jquery/jquery-migrate-1.2.1.min.js"></script>;
三个插件的顺序:jquery.1.9.1.min.js->jquery.jqprint-0.3.js->jquery-migrate-1.2.1.min.js(jqprint和migrate的顺序可互换)
-->
<script language="javascript" src="jquery.1.9.1.min.js"></script>
<script language="javascript" src="jquery.jqprint-0.3.js"></script>
<script src="jquery-migrate-1.2.1.min.js";></script>
<script language="javascript">
    function print() {
         $("#printBtn").jqprint();
    }
</script>
</head>
<body>
    <div id="printBtn">
         <table>
             <tr>
                 <td>test</td>
             </tr>
         </table>
    </div>
    <input type="button" onclick="print()" value="打印" />
</body>
</html>

二、

如果当你点击打印按钮时,打印按钮不起作用,你需要检查是否调用了jquery的迁移辅助插件

三、打印样式问题

问题原因:jqprint的div.jqprint()方法是将div生成一个新的ifream,如果你没有import你的样式文件,页面样式那当然是没有的

解决办法:

1、在需要加样式的html语句上直接加style。(不建议使用:写的样式太多,特别是需要打印的列比较多的时候,js 拼一堆);

2、在link的样式文件后加上media="print"

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

注意:如果你将打印页面的样式,通过<style></style>直接写在head标签内,预览的时候可以看见设置 的样式,但是打印出来的表格是不具备style标签中的样式,所以需要把打印出来的样式加入到currentprint.css文件中。



猜你喜欢

转载自blog.csdn.net/supercookies/article/details/80353006