Как мне использовать jQuery, чтобы убрать dojotype = "dijit.layout.TabContainer", когда media = print? - PullRequest
0 голосов
/ 08 марта 2012

Поэтому я использую следующий код для создания TabContainer с 3 вкладками. Однако, когда я печатаю страницу, я бы хотел, чтобы страница выглядела так, как будто нет вызова 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 ]

2 голосов
/ 08 марта 2012

Я бы рекомендовал использовать CSS для этого, если у вас есть доступ к содержимому страницы.Включите таблицу стилей печати, которая скрывает div ...

В голове ...

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

Css ...

#tabfunct { display: none; }

Намного проще, чем использоватьJavaScript для чего-то вроде этого.

0 голосов
/ 08 марта 2012

Вы могли бы использовать следующую библиотеку: http://cssmedia.pemor.pl/

Тогда просто:

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

Вероятно, вам подойдет.

0 голосов
/ 08 марта 2012
<style type="text/css">
    @media print {
      #tabfunct  { display:none }
    }
</style>
...