2008-11-18 80 views
3

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

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

干杯, 扎克

回答

2

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

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

CSS:

.test { 
    color: red !important; 
    } 

将显示红色。

+0

完美的工作,谢谢! – 2008-11-18 02:06:00

+9

我什至不知道最新错误:内联样式或重要... – whiskeysierra 2011-08-26 13:07:21

4

为什么不从其他函数调用print()函数?

像:

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

然后,你可以从那里你需要它调用它。