Domanda

Vorrei essere in grado di manipolare il DOM appena prima che la mia pagina venga inviata per essere stampata. Internet Explorer ha un evento sull'oggetto finestra chiamato " onbeforeprint " ma questo è proprietario e non è supportato da altri browser. È possibile farlo tramite javascript (jQuery in particolare, se possibile)?

Prima di chiedere, non posso facilmente usare un foglio di stile dei supporti di stampa per applicare le modifiche poiché gli elementi che devo cambiare hanno stili in linea che non possono essere sovrascritti con un foglio di stile globale. Devo sovrascrivere questi stili incorporati per scopi di stampa. Dovrebbe essere possibile modificare jQuery esistente, se necessario, tuttavia ciò comporterebbe un cambiamento più lungo e rischioso.

Saluti, Zac

È stato utile?

Soluzione

L'aggiunta di ! important dopo una proprietà nel CSS consentirà di sovrascrivere gli stili incorporati. Ad esempio:

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

css:

  .test {
     color: red !important;
  }

verrà visualizzato in rosso.

Altri suggerimenti

Perché non chiamare semplicemente la funzione print () da un'altra funzione?

Come:

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

Quindi potresti chiamarlo da dove ne hai bisogno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top