Захват события печати через jQuery - PullRequest
3 голосов
/ 18 ноября 2008

Я хотел бы иметь возможность манипулировать DOM непосредственно перед отправкой моей страницы для печати. У Internet Explorer есть событие в объекте окна, называемое «onbeforeprint», но оно является проприетарным и не поддерживается другими браузерами. Можно ли сделать это через javascript (в частности, jQuery, если это возможно)?

Прежде чем вы спросите, я не могу с легкостью использовать таблицу стилей для печати, чтобы применить изменения, поскольку элементы, которые мне нужно изменить, имеют встроенные стили, которые нельзя переопределить глобальной таблицей стилей. Мне нужно переопределить эти встроенные стили для печати. Должна быть возможность изменить существующий jQuery, если это необходимо, однако это будет более трудоемким и рискованным изменением.

Ура, Zac

Ответы [ 2 ]

4 голосов
/ 08 декабря 2009

Почему бы просто не вызвать функцию print () из другой функции?

Как:

function myPrint() {
  $("#myDiv").css({"border-color":"red"});
  window.print();
}

Тогда вы можете позвонить туда, где вам это нужно.

2 голосов
/ 18 ноября 2008

Добавление !important после свойства в вашем CSS позволит переопределить встроенные стили. Например:

<div class="test" style="color: blue;">Some Text</div>

CSS:

  .test {
     color: red !important;
  }

будет отображаться красным.

...