/ / como cancelar window.print (); ao clicar no botão Imprimir, Imprimir pop-up, mas nenhuma ação de impressão - javascript, impressão, onclicklistener, actionlistener, cancelamento

como cancelar window.print (); Ao clicar no botão Imprimir, Imprimir pop-up, mas sem ação de impressão - javascript, impressão, onclicklistener, actionlistener, cancelamento

Eu quero ter a janela.print () aparece, mas quando o usuário clica no botão Imprimir, não é windows print, mas onclick ou window.onbeforeprint Desejo acionar minha própria função de impressão personalizada. Assim, ao clicar em Imprimir, preciso cancelar a ação de impressão e acionar minha funçãopersonalizada ().

Por favor, ajude como cancelar window.print (); ao clicar no botão Imprimir

Respostas:

0 para resposta № 1

Você pode conseguir isso simplesmente usando o preventDefault().

o que Event.preventDefault() faz é

A interface do evento preventDefault () método diz ao agente do usuário que se o eventonão for tratado explicitamente, sua ação padrão não deve ser executada como normalmente seria. O evento continua a se propagar como de costume, a menos que um de seus ouvintes de evento chame stopPropagation () ou stopImmediatePropagation (), ambos encerrando a propagação de uma vez.

Você pode ler mais em Event.preventDefault () de MDN Web Docs

Pela sua postagem, parece que você não está referenciando nenhuma biblioteca JavaScript (como jQuery) ... então, uma abordagem direta do JavaScript seria:

document.querySelector("#printLink").addEventListener("click", function(event) {
event.preventDefault();
//your printing related window code etc.
}, false);

Se, no entanto, você estiver usando uma biblioteca JavaScript e ela for jQuery, o seguinte será o que você está procurando -

jQuery("#printLink").click(function(e) {
e.preventDefault();
//your printing related window code etc.
});

jQuery event.preventDefault ()

Em ambos os casos, seu link de impressão seria assim:

<a id="printLink" ...></a>

(Observe o ID atributo no elemento âncora)