JQuery.PrintArea.js的局部打印回调
前言:这里所谓的回调只是可以调用预先写好的函数而已
至于JQuery.PrintArea.js怎么使用我就不多加述说了,在JQuery.PrintArea.js的源码里有详细说明
JQuery.PrintArea.js下载页面
JQuery.PrintArea.js下载链接
Example:
* Print Button: <div id="print_button">Print</div>
* Print Area : <div class="PrintArea" id="MyId" class="MyClass"> ... html ..</div>
* Javascript : <script>
* $("div#print_button").click(function(){
* $("div.PrintArea").printArea( [OPTIONS] );
* });
* </script>
直接上源码
从下载的JQuery.PrintArea.js源码里找到以下部分
getBody : function ( elements ) {
var htm = "";
var attrs = settings.retainAttr;
elements.each(function() {
var ele = PrintArea.getFormData( $(this) );
var attributes = ""
for ( var x = 0; x < attrs.length; x++ )
{
var eleAttr = $(ele).attr( attrs[x] );
if ( eleAttr ) attributes += (attributes.length > 0 ? " ":"") + attrs[x] + "='" + eleAttr + "'";
}
htm += '<div ' + attributes + '>' + $(ele).html() + '</div>';
});
return "<body>" + htm + "</body>";
}
到这里详细都看得懂了,然后我们使用 onafterprint
事件进行 ’回调‘
我这里只是简单的页面跳转有需要的可以该成自己写的函数
getBody : function ( elements ) {
var htm = "";
var attrs = settings.retainAttr;
elements.each(function() {
var ele = PrintArea.getFormData( $(this) );
var attributes = ""
for ( var x = 0; x < attrs.length; x++ )
{
var eleAttr = $(ele).attr( attrs[x] );
if ( eleAttr ) attributes += (attributes.length > 0 ? " ":"") + attrs[x] + "='" + eleAttr + "'";
}
htm += '<div ' + attributes + '>' + $(ele).html() + '</div>';
});
return "<body οnafterprint='parent.location.href = \"order.html\"'" + ">" + htm + "</body>";
},