Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 当ctrl+;p被按下_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 当ctrl+;p被按下

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

当有人试图打印页面时,我需要销毁一个jQueryUI标签。 我不能用CSS隐藏它,因为我需要这些选项卡中的数据

有人能帮我指出正确的方向吗? 也许还有其他方法可以达到同样的效果

我的意思是:

$('#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!!");
});