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>";
},