我有一个示例脚本,可以在单击按钮时打印我网站页面的一部分。 但奇怪的是,当我转换时使用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');
});
});
答案 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.off和jQuery.on