2015-06-11 38 views
0

我有這個html:<div id="zoom">...</div>。當頁面加載時,我將它設置爲「display:none」。當某個事件被觸發時,「縮放」ID被設置爲「display:block」。但是,我希望如果用戶打印頁面,即使在特定事件被觸發後,它也不會在「縮放」ID中打印這些內容。本次活動設置它通過jQuery阻止:切換CSS顯示屏但不打印媒體

$("#zoom").css({"display":"block"}); 

有沒有一種方法來定義,jQuery的,它應該只應用於屏幕媒體?以上代碼將其設置爲跨所有媒體類型。

+0

您是否嘗試過使用打印介質查詢?看起來像你會在這種情況下使用,但從你的文章中的措辭,你聽起來像你已經熟悉媒體查詢。 –

+0

你可以製作一個打印按鈕,點擊時可以隱藏或刪除完整的div – TricksfortheWeb

+0

我相信唯一的全面證明方法就像發佈的鏈接。打印按鈕可以被忽略,任何JS本質上將添加樣式內聯,並因此在打印時持續,因爲打印將使用當前的DOM佈局。我不完全確定CSS中的'!important'是否會覆蓋內聯樣式,但可能。使用'!important'也會有其他問題。所以,如果謹慎使用並且它可以工作,但是我不希望整個CSS都重要,因爲這將很難重寫。 – Leeish

回答

4

除非我誤解了這個問題,否則您應該只能使用媒體查詢進行打印。唯一奇怪的是,您可能必須使用!important規則,因爲該元素使用javascript(推測內聯樣式)變得可見。

@media print { 
    #zoom { 
    display: none !important; 
    } 
} 
+0

你不會誤解任何事情。唯一的問題是我缺乏理解什麼是重要的。這就是所需要的。 – theglossy1

+0

@ theglossy1很高興能幫到你:) –