当media = print时,如何使用jQuery来收回dojotype =“dijit.layout.TabContainer”?

时间:2012-03-08 19:24:03

标签: jquery dojo media tabcontainer dijit.layout

所以我使用以下代码创建一个带有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>

3 个答案:

答案 0 :(得分:2)

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

头脑中......

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

css ......

#tabfunct { display: none; }

比使用javascript更容易。

答案 1 :(得分:0)

<style type="text/css">
    @media print {
      #tabfunct  { display:none }
    }
</style>

答案 2 :(得分:0)

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

然后只是:

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

应该可以做到这一点。