不推荐使用getPreventDefault()。 请改用defaultPrevented

我想在firefox中的加载页面上打印收据页面

Firefox显示以下错误..

不推荐使用getPreventDefault() 。 请改用defaultPrevented。 错误源代码行:

 src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; 

NS_ERROR_NOT_AVAILABLE:组件返回失败代码:0x80040111(NS_ERROR_NOT_AVAILABLE)[nsIDOMWindow.print]错误源代码行:


 print(); 

码:

 $(document).ready(function() { print_doc(); $("#Submit").click(function() { $("#goBack").hide(); $("#printRow").hide(); print(); $("#goBack").show(); $("#printRow").show(); }); }); function print_doc() { $("#goBack").hide(); $("#printRow").hide(); print(); $("#goBack").show(); $("#printRow").show(); } 

我想在显示“goBack”和“printRow”id之前打印我的收据,但不能正常工作

您可以使用媒体类型打印创建新的CSS

  

使用此代码

打印:

用于打印文档(也适用于在打印预览模式下查看的文档)。

CSS媒体类型

将您的Firefox和jQuery版本从1.6.4升级到更新版本。

这是作为一个错误在Firefox中的FF11和Patched中提交的结果:

Bug#707677:getPreventDefault(); 弃用

毕竟,错误消息指的是与代码完全无关的源代码行。

我也在最新的FF和jQuery中得到了这个警告。 不要担心,它会在导致任何问题之前上游修复。

至于你的代码,试试这个:

 $(document).ready(function() { $("#Submit").click(function() { var btns = $('#goBack, #printRow'); btns.hide(function () { window.print(); btns.show(); }); }); }); 

.hide()是异步的,这意味着下一行代码可能在浏览器有机会执行之前执行。 因此,您可能会在隐藏元素之前进行打印。 通过在.hide()的回调中粘贴打印件,您确定在打印时它是隐藏的。

然而,正如另一张海报所提到的,CSS媒体类型可能是更好的方法:

 @media print { #goBack, #printRow { display: none; } } 

它通过替换最新版本的js解决,访问jquery站点并替换为最新的jquery,如果需要.map js也是