post

Código para Copiar Texto ao Clicar e Mostrar Mensagem Personalizada com HTML, CSS, JS

Publicado em: 27/03/2024 / Atualizado em: 19/12/2024

Categorias: BlogCSSJavaScript (JS)JS

Você pode realizar essa tarefa usando um pouco de JavaScript junto com HTML. Aqui está um exemplo de como você pode fazer isso:

Crie um elemento HTML onde o usuário possa clicar. Este elemento pode ser um parágrafo, um span, ou mesmo um botão. Utilize o método navigator.clipboard.writeText para copiar o texto desejado para a área de transferência quando o elemento é clicado:

<p class="copyText" href="https://www.exemplo.com">Clique aqui para copiar o link</p>

<div id="notification" class="notification"></div>

<style>
.notification {
    display: none;
    position: fixed;
    bottom: 40px; 
    left: 50%;
    transform: translateX(-50%);
    padding: 10px 20px;
    background-color: #007bff;
    color: white;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}
</style>

<script>
    function mensagemRetorno(mensagem) {
        var notification = document.getElementById('notification');
        notification.innerText = mensagem;
        notification.style.display = 'block';
        
        setTimeout(function() {
            notification.style.display = 'none';
        }, 5000);
    };

    // Selecionar todos os elementos com a classe 'copyText'
    const elements = document.querySelectorAll('.copyText');

    // Adicionar evento de clique para cada elemento
    elements.forEach(element => {
        element.addEventListener('click', function(event) {
            // Prevenir o comportamento padrão do clique
            event.preventDefault();

            // Obtém o valor do atributo 'href' do elemento clicado
            const textoParaCopiar = element.getAttribute('href');

            if (textoParaCopiar) {
                navigator.clipboard.writeText(textoParaCopiar).then(() => {
                    mensagemRetorno("Texto copiado com sucesso!");
                }).catch(err => {
                    mensagemRetorno("Falha ao copiar o texto. Por favor, copie manualmente.");
                });
            } else {
                mensagemRetorno("Nenhum texto disponível para copiar.");
            }
        });
    });
</script>

Publicações recomendadas:


Inscreva-se em Nossa News:

Seja notificando sempre que tiver conteúdo novo disponível no meu canal do Youtube ou artigo no meu Blog.

Bruno Devs News


Link Curto para Compartilhamento

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link curto abaixo. Basta clicar em cima do link para copiar.

bruno.art.br/pb/4817

ID de Referência: 4817

Sugira uma publicação

Envie uma mensagem e sugira um publicação sobre um assunto que tenha dificuldades de resolver.

Clique aqui e entre em contato