0

这是对我之前的问题的扩展。我已经成功地向我的 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">

我现在遇到的一个问题是,当我单击打印按钮时,会弹出预览,一旦打印完成,该页面中的所有高图都将变为非活动状态(例如,当我将光标移到图表上并尝试做一些它不做的事情时响应,直到我刷新页面)。任何线索这里发生了什么?

提前致谢

4

1 回答 1

1

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

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

于 2012-07-25T16:42:21.337 回答