如何取消window.print();单击“打印”按钮,“打印”弹出但没有打印操作

时间:2018-03-21 14:00:02

标签: javascript printing onclicklistener actionlistener cancellation

我希望弹出window.print(),但是当用户点击“打印”按钮时,它不是Windows打印而是onclick或window.onbeforeprint我希望触发我自己的个性化打印功能。 因此,在单击“打印”时,我需要取消打印操作并触发我的个性化()功能。

请帮忙取消如何取消window.print();点击“打印”按钮

1 个答案:

答案 0 :(得分:0)

您只需使用class FileDialog : public QFileDialog { public: FileDialog() : QFileDialog(0) { addWidgets( 0, 0, new CheckBox(this)); } }; 即可实现此目的。

preventDefault()做的是

  

Event接口的 preventDefault()方法告诉用户代理,如果事件没有得到明确处理,则不应该像通常那样采取默认操作。事件继续像往常一样传播,除非其中一个事件侦听器调用stopPropagation()或stopImmediatePropagation(),其中任何一个都会立即终止传播。

您可以在Event.preventDefault()从MDN网络文档中了解更多信息

从你的帖子看,你好像没有引用任何JavaScript库(比如jQuery)......所以直接的JavaScript方法是:

Event.preventDefault()

但是,如果您使用的是JavaScript库并且它恰好是jQuery,那么以下内容将是您所需要的 -

document.querySelector("#printLink").addEventListener("click", function(event) {
    event.preventDefault();
    //your printing related window code etc.
}, false);

jQuery event.preventDefault()

在任何一种情况下,您的打印链接都如下所示:

jQuery("#printLink").click(function(e) {
    e.preventDefault();
    //your printing related window code etc.
});

(注意锚元素中的<a id="printLink" ...></a> 属性)