window.print不止一次显示

时间:2018-06-12 07:08:58

标签: javascript jquery

我有一个示例脚本,可以在单击按钮时打印我网站页面的一部分。 但奇怪的是,当我转换时使用ajax转换并单击相同的按钮window.print激活两次,如果我按3次,3 window.print显示并继续打开。如何防止window.print在转换到带有ajax的不同页面后只显示一次?一些例子或提示将是伟大的!我很乐意来到你这里!

$(function(){
        $('.printButton').live('click', function(){
            var printPage = $('.printarea').html();
            $('body').append('<div id="print"></div>');
            $('#print').append(printPage);
            $('body > :not(#print)').addClass('print_off');
            window.print();
            $('#print').remove();
            $('.print_off').removeClass('print_off');
        });
    });

1 个答案:

答案 0 :(得分:2)

您的活动似乎一次又一次地被绑定到按钮。你可以尝试以下。另外,不建议使用on作为live

$('.printButton').off('click');
$('.printButton').on('click', function(){
       var printPage = $('.printarea').html();
       $('body').append('<div id="print"></div>');
       $('#print').append(printPage);
       $('body > :not(#print)').addClass('print_off');
       window.print();
       $('#print').remove();
       $('.print_off').removeClass('print_off');
});

供参考,jQuery.offjQuery.on