[Resolvido]Ajudem-me a transformar javascript em jquery

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Ajudem-me a transformar javascript em jquery

Mensagem por JCMais em 05/11/10, 10:49 pm

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:
Código:
<script type='text/javascript'>
function SelectText(element) {
    var text = document.getElementById(element);
    if ($.browser.msie) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if ($.browser.mozilla || $.browser.opera) {
        var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } else if ($.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:
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. Louco
Espero que tenham entendido, e se puderem me ajudar, ficarei grato. Positivo

Cumprimentos.


Última edição por JCMais em 06/11/10, 01:02 am, editado 1 vez(es) (Razão : Troquei jq por $)
avatar

JCMais
Nível 9

Masculino
Inscrito dia : 02/07/2010
Mensagens : 202
Pontos Ativos : 243

Ver perfil do usuário http://ajuda.forumeiros.com/

Resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por Itachi Uchiha em 06/11/10, 12:53 am

Tente este código:
Código:
<script type='text/Jquery'>
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>

Bom acho que não vai dar certo.
avatar

Itachi Uchiha
Membro do Fórum

Masculino
Inscrito dia : 14/06/2010
Mensagens : 1292
Pontos Ativos : 1860

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais em 06/11/10, 01:04 am

seth's, você apenas trocou a parte "type='text/Javascript'" por "type='text/Jquery'", na realidade não é aí o problema, pois o JQuery é uma livraria Javascript, e no caso, ele é executado como tal.

Mas obrigado pela ajuda.
Feliz
avatar

JCMais
Nível 9

Masculino
Inscrito dia : 02/07/2010
Mensagens : 202
Pontos Ativos : 243

Ver perfil do usuário http://ajuda.forumeiros.com/

Resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por Solkis em 06/11/10, 08:44 am

Bom dia,

Veja se este funciona:
Código:
<script type='text/javascript'>
function SelectText(element) {
 var text = jQuery('#' + element);
 if ($.browser.msie) {
 var range = document.body.createTextRange();
 range.moveToElementText(text);
 range.select();
 } else if ($.browser.mozilla || $.browser.opera) {
 var selection = window.getSelection();
 var range = document.createRange();
 range.selectNodeContents(text);
 selection.removeAllRanges();
 selection.addRange(range);
 } else if ($.browser.safari) {
 var selection = window.getSelection();
 selection.setBaseAndExtent(text, 0, text, 1);
 }
}

jQuery('a.selecionar').click(function() {
   jQuery(this).next('code').ready(function() {
      SelectText(this);
   });
});
</script>

avatar

Solkis
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 26/01/2008
Mensagens : 9983
Pontos Ativos : 12074

Ver perfil do usuário http://ajuda.forumeiros.com

Resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais em 06/11/10, 11:51 am

Solkis, o código não sucedeu.
Eu coloquei ele em um arquivo js externo (este para ser mais exato) e fiz a chamada do mesmo dentro da tag head.
Depois o outro código coloquei isto:
Código:
<pre><a class="selecionar">Selecionar Tudo</a>
<code>
Text To Highlight/Select
Some Code
More Some Code
[...]
</code>
</pre>

Onde eu errei? Louco
avatar

JCMais
Nível 9

Masculino
Inscrito dia : 02/07/2010
Mensagens : 202
Pontos Ativos : 243

Ver perfil do usuário http://ajuda.forumeiros.com/
  • 0

Resolvido Re:

Mensagem por muryllodantas em 06/11/10, 11:56 am

você esqueceu de fechar a tag
<pre><a class="selecionar"><Selecionar Tudo</a>
<code>

olhe o codigo:
esse codigo esta certo

Código:
<pre><a class="selecionar"><Selecionar Tudo</a>
<code>
Text To Highlight/Select
Some Code
More Some Code
[...]
</code>
</pre>
avatar

muryllodantas
Usuário destaque

Masculino
Inscrito dia : 31/10/2010
Mensagens : 760
Pontos Ativos : 1013

Ver perfil do usuário http://rendersdesigner.forumeiro.com/

Resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais em 06/11/10, 12:07 pm

muryllodantas, não tem nenhuma tag precisando ser fechada, e caso eu utilize o código que você postou, aí é que o código ficará errado mesmo...
avatar

JCMais
Nível 9

Masculino
Inscrito dia : 02/07/2010
Mensagens : 202
Pontos Ativos : 243

Ver perfil do usuário http://ajuda.forumeiros.com/

Resolvido [Resolvido]

Mensagem por JCMais em 06/11/10, 07:08 pm

Desculpem o double-post, mas é apenas para avisar que já resolvi.
Fiz apenas algumas modificações no script e consegui fazé-lo funcionar como eu gostaria. Muito feliz

Aos interessados:
Código:
var jq = jQuery.noConflict()
function SelectText(text) {
    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);
    }
}
jq(document).ready(function(){
jq("a.selecionar").click(function(event) {
  event.preventDefault();
  SelectText( jq(this).next()[0] );
});
  });

Cumprimentos.
avatar

JCMais
Nível 9

Masculino
Inscrito dia : 02/07/2010
Mensagens : 202
Pontos Ativos : 243

Ver perfil do usuário http://ajuda.forumeiros.com/

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum