使用printThis.js打印多页仅输出单页的问题及解决方法
解决printThis.js打印长表格被截断的问题
我在id为divbody的div内嵌入了一个50行的表格,使用printThis.js打印时只能输出一页,表格内容在滚动条位置被截断。
原问题代码
<script defer src='printThis.js'></script> <script defer> $('#printButton').click (function() { var divBodyElement = $('#divbody').clone(true); var divBodyElementFind = divBodyElement.find(); divBodyElementFind.addBack(divBodyElement); divBodyElementFindWithAddBackScrollHidden = divBodyElementFindWithAddBack.css('overflow','hidden'); $(divBodyElementFindWithAddBackScrollHidden).printThis(); return true; }); </script>
调整后可正常打印多页的代码
var divBodyElement = $('#divbody').clone(true); var divBodyElementChildren = divBodyElement.children(); $(divBodyElementChildren).printThis();
调整思路:克隆目标div后,直接获取其子元素进行打印,避开了原代码中处理父容器overflow属性导致的内容截断问题,实现了长表格的多页正常打印。
内容的提问来源于stack exchange,提问作者John M
相关产品推荐
相关产品推荐

