JQuery.PrintArea.js的局部打印 “回调”

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

注意:在此方法中我并没有给PrintArea提供的pringArea()传入任何参数,如需传入参数则可以通过以上方法多加修改

好像有啥忘记写了…就这样吧,简单

发布了4 篇原创文章 · 获赞 3 · 访问量 964

猜你喜欢

转载自blog.csdn.net/qq_18878455/article/details/100772696
今日推荐