2013-04-09 100 views
2

我在一個JQuery對話框中有一個部分視圖,該對話框的側面有按鈕鏈接,頂部有文本鏈接,下面有一個網格。如何只打印網頁的一部分?

我想有一個在頂部的鏈接是「打印」鏈接,打印出沒有別的網格。

JavaScript的window.print()打印整個頁面。我如何才能打印網格?有沒有辦法告訴打印方法「只打印這個div的內容」?

如果我需要創建一個單獨的「可打印網格」頁面,如何避免打印我認爲需要在頁面上的「打印按鈕」?

謝謝!

回答

2

避免打印任何東西的規範方法是添加一個打印樣式表,將不應該打印的元素設置爲display:none

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

裏面print.css,你可以重新定義現有的CSS樣式顯示:無,你可以添加你可以應用到任何你不想打印.DoNotPrint類。

.DoNotPrint 
{ 
    display: none; 
} 
+0

快7秒。 +1的解決方案。 – lucuma 2013-04-09 18:50:53

+0

因此,我必須將「DoNotPrint」類添加到我不想打印的任何內容中? – 2013-04-09 19:02:39

+0

@ABogus - 是的,但正如我所提到的,您可以設置您不知道要打印的所有元素,以便在print.css文件中顯示:none。 DoNotPrint只適用於不應該打印的單個事物,並且不具有唯一的CSS類。 – 2013-04-09 19:04:07

2

這實際上完全取決於您的實現,但我覺得實現這一目標的最簡單方法是包括印刷特定的樣式表是這樣的:

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

該樣式表將隱藏一切,但表除了處理要顯示和隱藏的元素外,不需要任何特別的東西。

進一步考慮後,你也可以做到以下幾點:

創建一個單獨的頁面,只包括部分具有網格。當用戶點擊打印按鈕時,打開新窗口,並加載。