Javascript 当ctrl+;p被按下
当有人试图打印页面时,我需要销毁一个jQueryUI标签。 我不能用CSS隐藏它,因为我需要这些选项卡中的数据 有人能帮我指出正确的方向吗? 也许还有其他方法可以达到同样的效果 我的意思是:Javascript 当ctrl+;p被按下,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,当有人试图打印页面时,我需要销毁一个jQueryUI标签。 我不能用CSS隐藏它,因为我需要这些选项卡中的数据 有人能帮我指出正确的方向吗? 也许还有其他方法可以达到同样的效果 我的意思是: $('#tabs').tabs("destroy"); 这必须在IE7/8上运行,因为IE7/8是公司使用的浏览器 解决方案(感谢@Phil): 这可能会奏效: @media print { .ui-tabs-nav { display: none; } .ui-tabs .ui-tabs
$('#tabs').tabs("destroy");
这必须在IE7/8上运行,因为IE7/8是公司使用的浏览器
解决方案(感谢@Phil):
这可能会奏效:
@media print {
.ui-tabs-nav { display: none; }
.ui-tabs .ui-tabs-hide { display: block !important; }
}
这是另一个在黑暗中拍摄的镜头(我没有尝试过),但是:
window.onbeforeprint=销毁选项卡;
函数(){
$('#tabs').tabs('destroy').tabs();
}
这可能有效:
@media print {
.ui-tabs-nav { display: none; }
.ui-tabs .ui-tabs-hide { display: block !important; }
}
这是另一个在黑暗中拍摄的镜头(我没有尝试过),但是:
window.onbeforeprint=销毁选项卡;
函数(){
$('#tabs').tabs('destroy').tabs();
}
在JavaScript中,无法以跨浏览器友好的方式实现这一点
只有在IE和Firefox 6+中才能使用beforeprint和onafterprint方法。您可以将它们与
window.matchMedia
结合使用,以添加对Chrome 9+和Safari 5.1+的支持。我已经在上写过如何实现这一点。在JavaScript中无法以跨浏览器友好的方式实现这一点
只有在IE和Firefox 6+中才能使用beforeprint和onafterprint方法。您可以将它们与
window.matchMedia
结合使用,以添加对Chrome 9+和Safari 5.1+的支持。我已经在上写过如何实现这一点。所以“销毁”是指撤消选项卡效果但保留数据?我们可以看到一个工作示例吗?如果我从“文件”菜单打印,会发生什么情况?我不明白为什么用CSS隐藏会破坏数据。如果设置显示:无代码>,选项卡中的数据仍然可以从JS访问。。。不是吗?onbeforeprint
和onafterprint
只能在IE和Firefox6+中使用,所以不要依赖它们。更多详细信息,请参见我的答案。因此,“销毁”是指撤消选项卡效果,但保留数据?我们可以看到一个工作示例吗?如果我从“文件”菜单打印,会发生什么情况?我不明白为什么用CSS隐藏会破坏数据。如果设置显示:无代码>,选项卡中的数据仍然可以从JS访问。。。不是吗?onbeforeprint
和onafterprint
只能在IE和Firefox6+中使用,所以不要依赖它们。有关更多详细信息,请参阅我的答案。这将无法捕获“打印”图标的使用。或“文件>打印”。或更改了打印热键。或者window.print()
@pekka这就是问题的答案,我现在还不担心文件>打印。由于某种原因,它没有开火。我完全按照原样粘贴了它。这将无法捕获“打印”图标的使用。或“文件>打印”。或更改了打印热键。或者window.print()
@pekka这就是问题的答案,我现在还不担心文件>打印。由于某种原因,它没有开火。我完全按照原样粘贴了它。这隐藏了导航的样式,但它仍然只打印可见的选项卡,而不是所有的选项卡(我忘了提到这一点)。如果我删除.tabs();我只是在谷歌上搜索了该函数的文档(因为我从未见过它),然后找到了onafterprint。所以我做了一个函数,在打印完成后制作标签。谢谢!这隐藏了导航的样式,但它仍然只打印可见的选项卡,而不是所有选项卡(我忘了提到这一点);我只是在谷歌上搜索了该函数的文档(因为我从未见过它),然后找到了onafterprint。所以我做了一个函数,在打印完成后制作标签。谢谢!谢天谢地,在这种情况下,它只需要在IE上工作。但你的链接肯定会进入我的书签,以防我需要这个跨浏览器。谢天谢地,在这种情况下,它只需要在IE上工作。但你的链接肯定会进入我的书签,以防我需要这个跨浏览器。
<script type="text/javascript">
window.onbeforeprint = destroyTabs;
function destroyTabs(){
$('#tabs').tabs('destroy').tabs();
}
</script>
$(document).keypress("p",function(e) {
if(e.ctrlKey)
alert("Ctrl+P was pressed!!");
});