2014-01-26 75 views
0

我需要一個網頁,當用戶點擊文件>打印或[cmd + p]時,複製一篇文章(HTML)並將新文章放在原始文章的旁邊。這個想法是在線顯示一個列表,然後從網頁上打印一張可以減半的2頁紙版:2個相同的列表,一張紙。我正在使用自定義紙張佈局的打印樣式表,並且我正在使用jquery來複制HTML。用戶打印時用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> 

感謝您的任何建議。

+0

是否有可能將您到現在爲止的代碼添加到jsfiddle? – Siva

+0

http://jsfiddle.net/J5NUp/ –

回答

0

我不想在網頁上有兩個相同的文章默認情況下。

無需JavaScript!有文章在兩次頁面,最初隱藏一個與CSS:

article.copy { 
    display: none; 
} 

然後,另一個CSS規則,顯示打印頁面上的文章:

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

DEMO

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

+0

article.copy是否需要複製/粘貼HTML? –

+0

取決於您如何生成內容。生成它兩次或用JavaScript克隆元素。 –