【问题标题】:How do I use jQuery to retract dojotype="dijit.layout.TabContainer" when the media=print?当 media=print 时,如何使用 jQuery 收回 dojotype="dijit.layout.TabContainer"?
【发布时间】:2012-03-09 05:10:01
【问题描述】:

所以我使用以下代码创建了一个带有 3 个选项卡的 TabContainer。但是,当我打印页面时,我希望页面看起来好像没有调用 dojotype="dijit.layout.TabContainer"。我应该怎么做才能做到这一点?

<div id="holdtabscript">
<script type="text/javascript">
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
</script>
</div>

<div dojotype="dijit.layout.TabContainer" id="tabfunct">
<div dojotype="dijit.layout.ContentPane" title="pane1" selected="selected"> content1</div>
<div dojotype="dijit.layout.ContentPane" title="pane2"> content2</div>
<div dojotype="dijit.layout.ContentPane" title="pane3"> contents</div>
</div>

【问题讨论】:

标签: jquery dojo media tabcontainer dijit.layout


【解决方案1】:

如果您可以访问页面内容,我建议您使用 CSS 来执行此操作。包括一个隐藏 div 的打印样式表...

在头脑中...

<link rel="stylesheet" tyle="text/css" media="print" href="print-stylesheet.css">

CSS...

#tabfunct { display: none; }

比使用 javascript 做这样的事情要容易得多。

【讨论】:

  • 但我无法通过使用 CSS 摆脱 div。我不是试图隐藏 div,而是试图删除该 div 的 attr dojotype="dijit.layout.TabContainer"。
  • 你需要编辑你的问题,因为它说“我如何使用 jQuery 来删除媒体打印时的以下 div”并且所有 3 个海报现在都回答了这个问题。
  • 已编辑。为含糊而道歉。
  • 别担心,伙计——如果你问得不好,那是你的损失。我只是想让你得到你需要的帮助:)
【解决方案2】:
<style type="text/css">
    @media print {
      #tabfunct  { display:none }
    }
</style>

【讨论】:

  • 我不是要隐藏 div,而是要删除该 div 的 attr dojotype="dijit.layout.TabContainer"。
  • 谢谢@powtac - 我以前没有见过这种方法。我只使用了我发布的那个。你的更适合小改动。 (不过我不会投票,因为发帖人问错了问题,所以我们的答案实际上都是错误的!)
【解决方案3】:

您可以使用以下库:http://cssmedia.pemor.pl/

那么就:

$(function() {
   if(IsMediaType('print') > 0) {
      $('#tabfunct').removeAttr('dojotype');
   }
});

应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2013-05-07
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2015-10-11
    • 2017-10-01
    相关资源
    最近更新 更多