2010-12-18 53 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") 

应视按钮是如何定义的工作。