2015-03-03 45 views
0

我有這樣角JS和打印ngclick打破

<div class="col-xs-3 mob-hide"> 
    <a href ng-click="$event.preventDefault();print('printableArea')" 
      class="share-icon print-cell"> 
    <img src="images/Print-Icon.png" alt="Print">Print</a> 
</div> 

與功能

打印鏈接打印這樣

$scope.print = function(print){ 
    var printContents = document.getElementById(print).innerHTML; 
    var originalContents = document.body.innerHTML; 
    document.body.innerHTML = printContents; 
    window.print(); 
    document.body.innerHTML = originalContents; 
}; 

似乎加載我打印屏幕右側,但是當我點擊取消我的屏幕再次加載,但頁面上的鏈接似乎沒有像以前一樣工作。例如,對於打印功能我NG單擊不會再加載

+0

您正在操作DOM來管理打印模板。你不能用一個打印樣式表達到相同的結果,你可以顯示:none;一切不是#print?這樣你的指令就可以調用window.print();只要。 – denisol 2015-03-03 12:34:11

回答

1

這是我會怎麼做:

<link rel="stylesheet" href="print.css" type="text/css" media="print" /> 

print.css

* { display: none; } 
#print { display: block; } 

指令

$scope.print = function(print){ 
    window.print(); 
};