gpt4 book ai didi

javascript - 打印功能重置其他 jQuery 事件

转载 作者:太空宇宙 更新时间:2023-11-04 07:38:50 25 4
gpt4 key购买 nike

我试图在点击时打印一个 div 内容,我能够打印它但是在我取消打印预览后,我的 jQuery 事件都没有工作。

为什么会这样?我不想在打印预览后刷新页面

这是我打印的JS代码

$('.btn li:nth-child(1) > a').on("click", function(e){  
var divElements = document.getElementById("divContentId").innerHTML;
var oldPage = document.body.innerHTML;
document.body.innerHTML =
"<html><head><title>Print Title</title></head><body><table width='670'><tr><td><h1>This is Print Preview Title</h1>" + divElements + "</td></tr></table></body>";
setTimeout(function() {
window.print();
document.body.innerHTML = oldPage;
window.close();
return true;
}, 250);
$(".btn-options").hide(); // this is not firing after cancelling print preview event none of other events working
});

最佳答案

正如我在评论中所说,您可以在 iframeprint 代替:

$('.test').on("click", function() {
var divElements = $("#divContentId").html();

$('<iframe class="hidden" id="printer"></iframe>').appendTo('body');
var printer = $('#printer');
printer.contents().find('body').append("<table width='670'><tr><td><h1>This is Print Preview Title</h1>" + divElements + "</td></tr></table>");
printer.get(0).contentWindow.print();
printer.remove();

//Do your things here ...
});

See this JSFiddle for a working example. (我无法在代码段中做到这一点)

关于javascript - 打印功能重置其他 jQuery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48703022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com