3

我希望能够在我的页面被发送打印之前操作 DOM。Internet Explorer 在窗口对象上有一个名为“onbeforeprint”的事件,但这是专有的,其他浏览器不支持。是否可以通过 javascript(特别是 jQuery,如果可能的话)来做到这一点?

在你问之前,我不能轻易地使用打印媒体样式表来应用更改,因为我需要更改的元素具有不能被全局样式表覆盖的内联样式。为了打印目的,我需要覆盖这些内联样式。如果需要,应该可以修改现有的 jQuery,但这将是一个更耗时且风险更大的更改。

干杯,扎克

4

2 回答 2

4

为什么不直接从另一个函数中调用 print() 函数呢?

像:

function myPrint() {
  $("#myDiv").css({"border-color":"red"});
  window.print();
}

然后你可以从你需要的地方调用它。

于 2009-12-08T18:23:13.900 回答
2

在 CSS 中添加!important属性后将允许它覆盖内联样式。例如:

<div class="test" style="color: blue;">Some Text</div>

CSS:

  .test {
     color: red !important;
  }

将显示为红色。

于 2008-11-18T01:10:30.397 回答