Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JCMais

[Resolvido] Código para selecionar texto de determinado elemento

Recommended Posts

Olá pessoal, estou com um probleminha e gostaria de vossa ajuda.

Eu estou elaborando um código JS para selecionar o texto de determinado elemento, veja:

<script type='text/javascript'>
function SelectText(element) {
    var text = document.getElementById(element);
    if (jq.browser.msie) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if (jq.browser.mozilla || jq.browser.opera) {
        var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } else if (jq.browser.safari) {
        var selection = window.getSelection();
        selection.setBaseAndExtent(text, 0, text, 1);
    }
}
</script>

O que se sucede é que todas as vezes tenho que inserir a ID na chamada para a função, aqui o tipo de tag que pretendo usar este código:

<pre><a class="selecionar" href="javascript:SelectText(code1);">Selecionar Tudo</a>
<code id="code1">
Algum texto para ser selecionado aqui.
[...]
</code>
</pre>

Eu gostaria de saber se tem como transformar a função para que sempre que alguem clique no link, ele sempre selecione o elemento seguinte.

Com JQuery acho que seria mais ou menos assim:

Jquery("a.selecionar").click {

Jquery("a.selecionar").nextSibling....

 

Só que não sei elaborar o restante do código e nem sei se este está correto.

 

Ou seja, fica muito chato ter que ficar colocando a Id do elemento e tal. http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Espero que tenham entendido, e se puderem me ajudar, ficarei grato. ^_^

 

Cumprimentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta explicar melhor, nao consegui entender direito, voce quer que quando o usuario clique em um link, o texto do mesmo seja selecionado??? ou o do proximo elemento??? e oque seria o proximo elemento? div? link? input? tente ser mais claro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe por não ter sido claro. É o seguinte, estou montando uma caixa de código (tag code) e gostaria de inserir um link que ao clicar selecione todo o texto da caixa de código.

Eu achei o script que passei acima, mas o problema é que toda vez tenho que inserir a ID do elemento code na chamada para a função. Veja um exemplo:

<pre><a class="selecionar" href="javascript:SelectText(code1);">Selecionar Tudo</a>
<code id="code1">
Algum texto para ser selecionado aqui.
[...]
</code>
</pre>

Eu gostaria de uma modificação para que torne essa ação automática. Com JQuery daria para fazer algo do tipo, pois seria mais ou menos assim:

Jquery("a.selecionar").click {
Jquery("a.selecionar").nextSibling....
Ou seja, sempre que clicasse no link com classe "selecionar" o próximo elemento (no caso code) teria o seu texto selecionado, só que não sei se está certo essa elaboração de código que fiz e não sei inserir ela no script. :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

<pre><a class="selecionar" href="#">Selecionar Tudo</a> => Mudar o href
<code> => Retirar o ID
Algum texto para ser selecionado aqui.
[...]
</code>
</pre>

 

<script src=".../jquery.min.js"></script>
<script type='text/javascript'>
function SelectText(text) { => Alterar esta linha de element para text
   var text = document.getElementById(element); => Importante: tirar esta linha
   if ($.browser.msie) { => Atenção alterar todos os jq.browser para $.browser
   ...
};

$("a.selecionar").click(function(event) {
event.preventDefault();
SelectText( $(this).next()[0]);
})
</script>

 

Veja o script funcionando nesse link.

Veja os códigos do script nesse outro link

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.