0

我使用 Joomla 作为我的 CMS,并使用下面的 JavaScript 来打印页面的特定区域(实际上是这里的整个正文)。

JavaScript

function printDiv(divName) {

             var printContents = document.getElementById(divName).innerHTML;
             var originalContents = document.body.innerHTML;
             document.body.innerHTML = printContents;
             window.print();
             document.body.innerHTML = originalContents;
    }

我使用 Joomla 在正文选择的同一页面上获取日历。

PHP

<?php echo JHTML::calendar($filter_date_to,'filter_date_to', 'filter_date_to', '%Y-%m-%d', `'');?>

尝试打印某些内容后,日历停止工作。控制台中也没有显示 js 错误。似乎是什么问题?

4

1 回答 1

0

假设日历依赖于 javascript,它可能会停止工作,因为所有事件侦听器都未绑定。您最好在新的弹出窗口中打开日历信息并打印它,或者拍摄日历信息的快照,使用 display:none 隐藏当前日历,创建一个可见的新 div 并将该快照放在要打印的日历信息,然后在完成后将其删除。

除此之外,您还可以使用 CSS 媒体查询来使页面中您不想打印的所有部分消失,因此您根本不必这样做。

于 2012-09-14T06:05:26.903 回答