Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 打印预览显示每个打印命令上的重复项_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 打印预览显示每个打印命令上的重复项

Javascript 打印预览显示每个打印命令上的重复项,javascript,jquery,html,css,Javascript,Jquery,Html,Css,每当我点击打印并取消打印预览时,再次点击打印并在打印预览中显示双页 这是正常的行为还是需要修正的,有人能建议一下吗 //Javascript for print on click $('.print').on("click", function(e){ var divElements = $(".printable-content").html(); var iframe = $('<iframe class="hidden" id="printer"></if

每当我点击打印并取消打印预览时,再次点击打印并在打印预览中显示双页

这是正常的行为还是需要修正的,有人能建议一下吗

//Javascript for print on click
$('.print').on("click", function(e){
    var divElements = $(".printable-content").html();
    var iframe = $('<iframe class="hidden" id="printer"></iframe>').appendTo('body');
    var printer = $('#printer');
    printer.contents().find('body').append("<!DOCTYPE html><head><title>Print Title</title></head><body>" + divElements + "</body>");
    setTimeout(function() {  
        printer.get(0).contentWindow.print();
        printer.remove();

    }, 250);
});

<!DOCTYPE html>
<head>
    <title>Print Title</title>
</head>
<body>
    <div class="printable-content">
        <table>
            <tr>
                <td>
                    This is printtable content
                </td>
            </tr>
            <tr>
                <td>
                    This is printtable content
                </td>
            </tr>
            <tr>
                <td>
                    This is printtable content
                </td>
            </tr>
            <tr>
                <td>
                    <a href="javascipt:;" class="print"></a>
                </td>
            </tr>
        </table>
    </div>
</body>
不删除设置超时内的打印机iframe

相反,你可以这样做

$('.print').on("click", function(e) {

    if ($("#printer").length) {
        $("#printer").remove();
    }

    var divElements = $(".printable-content").html();
    var iframe = $('<iframe class="hidden" id="printer"></iframe>').appendTo('body');
    var printer = $('#printer');
    printer.contents().find('body').append("<!DOCTYPE html><head><title>Print Title</title></head><body>" + divElements + "</body>");
    setTimeout(function() {  
        printer.get(0).contentWindow.print();

    }, 250);
});

你想实现什么?@GerardoBLANCO问题是每次我打印时,取消打印预览,再次点击打印比第一次打印显示的页面更多。希望是这样?或者你必须做些额外的事情?因为之前你评论说它不工作..是的,它工作了,我在打印中附加了一些额外的东西,这也需要删除我没有做的东西。