gpt4 book ai didi

jquery - 为什么 jquery 的 onbeforeprint 事件有问题?

转载 作者:行者123 更新时间:2023-12-01 02:17:10 25 4
gpt4 key购买 nike

我有以下功能。

$(function() {
$(".sectionHeader:gt(0)").click(function() {
$(this).next(".fieldset").slideToggle("fast");
});
$("img[alt='minimize']").click(function(e) {
$(this).closest("table").next(".fieldset").slideUp("fast");
e.stopPropagation();
return false;
});
$("img[alt='maximize']").click(function(e) {
$(this).closest("table").next(".fieldset").slideDown("fast");
e.stopPropagation();
return false;
});
});

<script type="text/javascript">
window.onbeforeprint = expandAll;

function expandAll(){
$(".fieldset:gt(0)").slideDown("fast");
}
</script>

对于这个html

    <table class="sectionHeader" ><tr ><td>Heading 1</td></tr></table>
<div style="display:none;" class="fieldset">Content 1</div>

<table class="sectionHeader" ><tr ><td>Heading 2</td></tr></table>
<div style="display:none;" class="fieldset">Content 2</div>

我在页面上有几个 div class="fieldset",但是当我进行打印预览或打印时,我可以在打开打印预览或打印之前看到所有 div 向下滑动,但在实际的打印预览或打印输出中,它们是全部崩溃。

如果有人能提供解决方案,我将不胜感激。

有人知道这是为什么或者如何解决它吗?

谢谢。

PS:使用 a 也不起作用(我假设是因为 jquery 使用切换)并且它不是我正在寻找的问题。

最佳答案

更简单的方法是在 CSS 中,您可以使用不同的打印样式和屏幕样式,如下所示:

@media print {
.fieldset { display: block; }
}

@media screen {
.fieldset { display: none; }
}

.fieldset 类将在打印时显示,但默认情况下不会在浏览器中显示。请务必删除页面中 .fieldset div 上的内联 diplay: none 样式,因为它们会覆盖 CSS 文件中的其中一个样式。

关于jquery - 为什么 jquery 的 onbeforeprint 事件有问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2476794/

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