javascript - 用户打印时使用 jQuery 复制 HTML

标签 javascript jquery html css printing

我需要制作一个网页,当用户点击文件 > 打印或 [cmd + p] 时,复制一篇文章 (HTML) 并将新文章放在原始文章旁边。这个想法是在线显示一个列表,然后从网页上打印一个可以切成两半的 2-up 纸质版本:2 个相同的列表,一张纸。我正在为自定义纸张布局使用打印样式表,并且正在使用 jquery 复制 HTML。

我坚持的部分是如何在用户看到打印对话框之前进行复制。我不希望默认情况下网页上有两篇相同的文章。我还想在打印完成后删除重复的文章,但这可能不那么重要。

<script>
/*  instead of window.onclick, is there an "on print" function? */
    window.onclick = function() {
        var $newArticle = $('article').clone();
        $($newArticle).css({'margin-left':'1.3cm'});
        $($newArticle).insertAfter("article");                 
        }
</script>

感谢您的任何建议。

最佳答案

I don't want there to be two identical articles on the webpage by default.

无需 JavaScript!文章在页面中出现两次,最初使用 CSS 隐藏一篇:

article.copy {
    display: none;
}

然后,使用另一个 CSS 规则,在打印页面上显示文章:

@media print {
    article.copy {
        display: block;
    }
}

DEMO

Mode information on@mediaa tutorial.不幸的是,@media 似乎在 IE8 及以下版本中不起作用。

关于javascript - 用户打印时使用 jQuery 复制 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21358224/

相关文章:

javascript - 我无法将其四舍五入到小数点后两位

javascript - 文本区域中正确的换行符是什么?

javascript - 找到某个item的最后一个类,并根据点击的item发布数据

java - 在 HTML 中使用 Java applet 方法

javascript - 如果文本字符串长度在 php while 循环中超过 3 个字符,则隐藏父 div

javascript - 如何在单击实际调用该函数的按钮时将 javascript 函数的返回值传递给 para 标记?

javascript - 带有传单的 Heatmap.js。最大值未按预期工作

javascript - 在react中多次使用排序函数

javascript - jQuery - 更改页面上的所有 URL 包括 CSS 和 JavaScript 文件

jquery - DataTable 破坏了 Nested Repeater 和 Bootstrap