JQuery使用预览打印方法

代码如下,调用toPrintView()方法即可

/*         打印预览        */        
function toPrintView(){          
    execPrint('div-print-body','Preview');        
}
/*打印或预览print--打印,Preview--预览*/       
function execPrint(myDiv,type){                    
    var isCanPreview = (!-[1,]);                   
    if(isCanPreview){ /*这个条件满足说明可以打印预览*/                    
        document.all.WebBrowser.ExecWB(7,1);             
        }else{                                                  
            var newstr = document.getElementById(myDiv).innerHTML;              
            var oldstr = document.body.innerHTML;               
            document.body.innerHTML = newstr;               
            window.print();               
            document.body.innerHTML = oldstr;                  
            return false;              
            }         
    }  

 如果使用layer(我是只用layer弹出打印页面),在点取消打印返回到layer致使点击事件失效的话,我用以下方法进行解决的

$(document).delegate

使用documen绑定点击事件,即使返回layer也不会出现点击事件失效

若想使一些标签不打印,如下:

<style type="text/css" media="print">
.noprint { display:none;}
</style>

重点在必须使用media="print",然后在标签内加入不显示的样式即可

原文地址:https://www.cnblogs.com/zhengyuanyuan/p/8879949.html