【问题标题】:Charts not responding on the web page after printing them图表打印后在网页上没有响应
【发布时间】:2012-07-26 00:42:21
【问题描述】:

这是我的previous question 的扩展。我已经成功地向我的 php 网页添加了一个按钮,该按钮通过一次打印页面中的所有图形来正常工作。我做了以下方式

function printdiv(printpage)
{
var headstr = '<html><head><title>Graphs</title></head>'+'<link rel="stylesheet" type="text/css" href="../css/template.css" />'+'<body><br/><br/><br/>';
var footstr = "</body>";
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
die();
}


<input name="b_print" type="button" class="ipt"   onClick="printdiv('graphs');" value="Graphs">

我现在遇到的一个问题是,当我单击打印按钮时,会弹出预览,一旦打印完成,该页面中的所有 highcharts 都将变为非活动状态(例如,当我将光标移到图表上并尝试执行在我刷新页面之前它不会响应的东西)。有什么线索吗?

提前致谢

【问题讨论】:

    标签: javascript highcharts


    【解决方案1】:

    由于您更改了 innerHTML,所有事件侦听器(在这种情况下用于处理与图表的交互)已同时被删除。

    您可以尝试生成一个弹出窗口来放置您的headstr+newstr+footstr,或者使用更优雅的方法(例如 CSS 媒体选择器)来防止出现此问题。

    【讨论】:

    • 当我点击一个按钮时,我已经成功地只打印了正文的元素。我已将此 CSS 链接到我的网页 @media print { body { font-size: 10pt } div#two{display:none;} }。但是如果我想添加另一个只打印头部内容的按钮怎么办?
    • @ven 您可以在使用 css 打印时隐藏页面中除了您选择的所有内容。喜欢*{ display: none; } .print{ display: block; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多