Código para Copiar Texto ao Clicar e Mostrar Mensagem Personalizada com HTML, CSS, JS - Bruno Devx - BR Criativus

post #4817

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:



Link Direto

Compartilhe esse conteudo nas redes sociais ou por mensagem usando o link direto abaixo. Basta copiar.

bruno.art.br/?p=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