[Resolvido]Ajudem-me a transformar javascript em jquery

4 participantes

Ir para baixo

Tópico resolvido Ajudem-me a transformar javascript em jquery

Mensagem por JCMais 06.11.10 0:49

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 3:02, editado 1 vez(es) (Motivo da edição : Troquei jq por $)
JCMais
JCMais
****

Membro desde : 02/07/2010
Mensagens : 202
Pontos : 243

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por Itachi Uchiha 06.11.10 2:53

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.
Itachi Uchiha
Itachi Uchiha
Super Membro

Membro desde : 14/06/2010
Mensagens : 1292
Pontos : 1860

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais 06.11.10 3:04

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
JCMais
JCMais
****

Membro desde : 02/07/2010
Mensagens : 202
Pontos : 243

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por Solkis 06.11.10 10:44

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>

Solkis
Solkis
Membro Entusiasta

Membro desde : 26/01/2008
Mensagens : 9983
Pontos : 12071

https://ajuda.forumeiros.com

Ir para o topo Ir para baixo

Tópico resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais 06.11.10 13:51

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
JCMais
JCMais
****

Membro desde : 02/07/2010
Mensagens : 202
Pontos : 243

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido Re:

Mensagem por muryllodantas 06.11.10 13:56

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>
muryllodantas
muryllodantas
Membro

Membro desde : 31/10/2010
Mensagens : 760
Pontos : 1013

http://rendersdesigner.forumeiro.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: [Resolvido]Ajudem-me a transformar javascript em jquery

Mensagem por JCMais 06.11.10 14:07

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...
JCMais
JCMais
****

Membro desde : 02/07/2010
Mensagens : 202
Pontos : 243

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Tópico resolvido [Resolvido]

Mensagem por JCMais 06.11.10 21:08

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.
JCMais
JCMais
****

Membro desde : 02/07/2010
Mensagens : 202
Pontos : 243

https://ajuda.forumeiros.com/

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos