我有一個文檔在JQuery模式框內的網站上彈出。該文檔的最後打印按鈕只是在彈出框中打印文檔。通過鍵盤觸發Ctrl + P打印JQuery模式框
我正在尋找一種解決方案,可以通過按Ctrl + P打印彈出框。現在Ctrl + P打印包括背景在內的所有頁面......我只希望找到一個解決方案,幫助我僅在彈出窗口中打印文檔。
我的JQuery模式對話框中的iFrame並通過以下方式顯示: -
<div id="frameContainer">
<iframe id="lightboxFrame" width="950px" scrolling="auto" height="500px">
<!DOCTYPE html>
<html>
<head>
<body> (Whole Document in a Div) </body>
...
這是在打印彈出文檔彈出HTML的DIV。
<div id="edit-actions" class="form-actions form-wrapper">
<input id="print-submit" class="form-submit" value="Print this Survey" name="print" onclick="printAssessment()" type="button" />
</div>
這是我做過什麼: -
$(document).keydown(function(event) {
if (event.ctrlKey==true && (event.which == '80')) { //cntrl + p
event.preventDefault();
printAssessment();
}
});
function printAssessment() {
//alert("Print the little page");
window.print();
}
功能,當我按下Ctrl + P絕對是被稱爲,但它仍然打印整個頁面。我希望它只打印Modal Box。奇怪的是,當我按下使用相同功能的Modal Box內的打印按鈕時,它可以正確打印。
感謝,
先編輯: -
現在部分工作。
當我改變PrintAssessment()的功能,下面,它的工作原理: -
function printAssessment() {
window.frames["lightboxFrame"].focus();
window.frames["lightboxFrame"].print();
}
但是,奇怪的是,當我按Ctrl + P僅在第一次打印。當我再次嘗試打印,它不斷給我這個錯誤: -
Uncaught TypeError: Cannot call method 'print' of undefined
或
Uncaught TypeError: Cannot call method 'focus' of undefined
感謝。
您應該使用:$ ( '#lightboxFrame')[0] .contentWindow.print(); – Anass 2013-04-30 17:15:31