2010-12-18 135 views
0

我在我的網站上使用Fullcalendar,我有一個按鈕來打印它。我正在這樣做:打印fullcalendar時隱藏按鈕

function print_calendar() { 
     $('#calendar').css('width', '6.5in'); 
    $('.fc-content .fc-state-highlight').css('background', '#ccc'); 
    $('#calendar').fullCalendar('render'); 
    bdhtml = window.document.body.innerHTML; 
    sprnstr = "<!--startprint-->"; 
    eprnstr = "<!--endprint-->"; 
    prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17); 
    prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr)); 
    window.document.body.innerHTML = prnhtml; 
    window.print(); 

現在我還希望能夠隱藏上個月,下個月,今天和月份按鈕。我怎樣才能通過JavaScript做到這一點?我不想在fullcalendar代碼中更改它們,只能在打印之前將它們隱藏起來,但讓它們顯示其餘的時間。

+3

這與Java有什麼關係?你當然知道Java和JavaScript是兩種完全不同的語言,與火腿相似的是倉鼠。您可能想要失去Java標記。 – 2010-12-18 18:39:01

+0

沒關係,我看到bemace已經從你的問題中刪除了Java標籤。 – 2010-12-18 19:02:10

回答

2

不要使用JavaScript對於這一點,使用僅打印樣式表(你甚至不需要打印按鈕,瀏覽器的打印按鈕將做精):

@media print { 
    input[type="button"] { 
     display: none; 
    } 
    ... 
} 

或代替包裝紙在@media print {}中,您可以將打印樣式放在單獨的.css文件中,並與<link rel="stylesheet" href="..." type="text/css" media="print">鏈接。

+0

Thankyou bemace,我理解你使用打印css背後的原因,但我實際上正在用java調用其他一些東西,所以我寧願用java也做這個。 – RDO 2010-12-18 19:08:41

+1

JavaScript是**不像**一樣。如果你試圖互換名稱,你會迷惑人。看到我的其他答案爲JavaScript解決方案。 – 2010-12-18 19:32:58

0

OK,你似乎是使用jQuery,所以如果你必須這樣做與JavaScript

$('button').css("display", "none") 

$('input[type=button]').css("display", "none") 

應視按鈕是如何定義的工作。