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()傳入任何參數,如需傳入參數則可以通過以上方法多加修改

好像有啥忘記寫了…就這樣吧,簡單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章