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 onafterprint='parent.location.href = \"order.html\"'" + ">" + htm + "</body>";
},
注意:在此方法中我并没有给PrintArea提供的pringArea()
传入任何参数,如需传入参数则可以通过以上方法多加修改
好像有啥忘记写了......就这样吧,简单
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Salted Fish
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果