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

Поэтому я использую следующий код для создания 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 ответа

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

В голове...

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

CSS...

#tabfunct { display: none; }

Гораздо проще, чем использовать javascript для чего-то подобного.

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

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

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

Должен, вероятно, сделать свое дело.

<style type="text/css">
    @media print {
      #tabfunct  { display:none }
    }
</style>
Другие вопросы по тегам