关于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" οnclick="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文件中。