Cómo activar la función de JavaScript cuando selecciona la vista previa de impresión

Yo uso rangeslider para crear un componente deslizante, se ve a continuación enter image description here

Sin embargo, cuando estoy listo para imprimir esto, en la vista previa de la impresión, la barra deslizadora tiene escala mientras que el valor de la posición del botón deslizante es igual al valor en html (en html, cuando cambia el tamaño de la ventana, hay una función js para volver a calcular el tamaño de barra y posición del botón deslizante).

control deslizante en la vista previa de impresión: enter image description here

Así que mi pregunta es cómo llamar a la función para volver a calcular la posición del botón del control deslizante en la vista previa de impresión, como el evento window.resize.

Apreciar cualquier comentario !!

Para detectar solicitudes de impresión con javascript puedes probar:

var beforePrintFunc = function() { ... } //for chrome window.matchMedia('print').addListener(function(mql) { if (mql.matches) { beforePrintFunc(); } }); window.onbeforeprint = beforePrintFunc; 

Para detectar el evento de vista previa de impresión:

 var afterPrintFunc = function() { ... } //for chrome window.matchMedia('print').addListener(function(mql) { if (!mql.matches) { afterPrintFunc(); } }); window.onafterprint = afterPrintFunc; 

Sin embargo, puede haber un enfoque más fácil como lo señala @torazaburo en el siguiente comentario, siempre y cuando solo realices cambios de estilo:

 @media print { //your print specific styles go here }