Jump to content
acao

Método document em jquery

Recommended Posts

acao

boa tarde

eu estou a criar umas div dinamicamente depois de carregar a pagina que necessito de  ocultar, amostrar  e carregar,

que suspeito que o jquery  tem dificuldade em encontra-las e por isso queria utilizar o método (document) no jquery.

eu uso assim para ocultar :

                $('#idCatOrigemProduto').hide();

como seria usando o método     document?

 

 

eu necessito tipo isto que dispara o click,


        $(document).on('click','#idCatOrigemProduto div',function(){

 

Share this post


Link to post
Share on other sites
HappyHippyHippo

o teu primeiro erro é assumir que a tua ideia é o caminho a seguir, isto porque tenho sérias dúvidas no uso do "document" para obter o resultado pretendido

diz exactamente o que deve acontecer para que o evento de aparecer ou esconder serem despoletados


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Jefferson Reis

Olá meu amigo, acredito que isso resolva o seu problema $(document).find('#idCatOrigemProduto').hide();

Se eu fosse você, ao criar o novo elemento já colocaria uma class .hide no mesmo, dessa forma ela ja vem oculto. No CSS coloca assim

.hide{ display: none; }

Edited by Jefferson Reis
Obs

Go Python

Share this post


Link to post
Share on other sites
acao

boa noite HappyHippyHippo

estas divs fazem parte de uma paginação em scroll,  e se o javascript não as encontrar não funciona,

e o meu sistema em produção emperra ao executar a quarta pagina.

por isso necrssito de implementar o método document, e ainda não arranjei solução.

cumps acao

 

Jefferson Reis , obrigado pela sua solução vou testar!

cumpts acao

Edited by acao

Share this post


Link to post
Share on other sites
M6

Estou com o @HappyHippyHippo, e não me parece que o problema esteja no facto do jquery  "ter dificuldade em encontrar" o que quer que seja.

Podes verificar se $('#idCatOrigemProduto') ou se $('#idCatOrigemProduto div') encontrou alguma coisa. Usa a consola de Javascript do browser para validares a expressão. Já me aconteceu ter a expressão errada e por isso as tags não estavam a ser encontradas.

Uma ideia: se puderes, carrega todas as divs antecipadamante (mesmo que vazias) com os Ids bem definidos e conhecidos. Depois podes ir manipulado o seu conteúdo e o seu estado. Podendo as mesmas, eventualmente, ser reaproveitadas.

Edited by M6

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
HappyHippyHippo

eu tenho um felling que andas a tentar registar eventos a elementos carregados dinamicamente, e o teu problema é saber quando registar esses eventos se os elementos só existem no futuro


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
acao
3 horas atrás, HappyHippyHippo disse:

eu tenho um felling que andas a tentar registar eventos a elementos carregados dinamicamente, e o teu problema é saber quando registar esses eventos se os elementos só existem no futuro

não nesta situação não trato eventos,  vou postar o javascript  e  já com a alteração recomendada pelo @Jefferson Reis, para verificares que nada das tuas suspeita tem fundamento.

$(document).ready(function(){
        $(document).scroll(function() {
                if($(window).height() > $(window).scrollTop()){
                        $(document).find('#divPgUp').hide();
                } else {
                        $(document).find('#divPgUp').show();
                }
                if(funcReturnPagUrl() === "verAnunciosAv"){
                        $.post("paginacao.php?getPaginacao="+ 3,function(pag){
                                var bottonDiv = $('#paginacao'+ pag).height() + $('#paginacao'+ pag).offset().top;
                                var bottomWindow = $(window).height() + $(window).scrollTop();
                                if (bottomWindow > bottonDiv ) {
                                        $.ajax({        
                                                type: "GET",
                                                url : 'paginacao.php?getLoadPaginacao='+ 3,
                                                dataType : "json",        
                                                contentType: "application/json; charset=utf-8",
                                                success : function(data){
                                                        $(document).find('#paginacao'+ data['pagina']).hide();
                                                        $(document).find('#idDivPosts'+ data['pagina']).html(data['anuncios']);
                                                        $(document).find('#idDivLoaderPaginacao'+ data['pagina']).hide();
                                                        $(window).unbind('scroll');
                                                }
                                        });
                                }
                        });
                }

cumps acao

Share this post


Link to post
Share on other sites
HappyHippyHippo

ainda não percebi bem o que estás a tentar fazer ... mas para mim, era alterar o $(document).find(por $(


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
acao
20 minutos atrás, HappyHippyHippo disse:

ainda não percebi bem o que estás a tentar fazer ... mas para mim, era alterar o $(document).find(por $(

isso era o que eu tinha.

tenho quase a certeza que a dica do reis vai funcionar, mas ainda não testei em produção.

a resposta porque eu quero adicionar o document  é esta:

«: “Por que meus eventos não funcionam quando clico em elementos criado após o carregamento da página.” A resposta é simples. Ao carregar a página a biblioteca jQuery /Javascript procura por todos os elementos quando o DOM é carregado. Quando seu documento estiver pronto a biblioteca já terá decidido que não há uma classe chamada “.item” para ser removida com a método .remove(), e seu script não vai funcionar.»

aqui: http://www.kadunew.com/blog/jquery/atribuindo-eventos-a-elementos-criados-dinamicamente

cumps acao

 

 

 

Share this post


Link to post
Share on other sites
Jefferson Reis
2 minutos atrás, acao disse:

isso era o que eu tinha.

tenho quase a certeza que a dica do reis vai funcionar, mas ainda não testei em produção.

a resposta porque eu quero adicionar o document  é esta:

«: “Por que meus eventos não funcionam quando clico em elementos criado após o carregamento da página.” A resposta é simples. Ao carregar a página a biblioteca jQuery /Javascript procura por todos os elementos quando o DOM é carregado. Quando seu documento estiver pronto a biblioteca já terá decidido que não há uma classe chamada “.item” para ser removida com a método .remove(), e seu script não vai funcionar.»

aqui: http://www.kadunew.com/blog/jquery/atribuindo-eventos-a-elementos-criados-dinamicamente

cumps acao

 

 

 

 

Quando testar manda um feedeback


Go Python

Share this post


Link to post
Share on other sites
HappyHippyHippo
4 minutes ago, acao said:

isso era o que eu tinha.

tenho quase a certeza que a dica do reis vai funcionar, mas ainda não testei em produção.

a resposta porque eu quero adicionar o document  é esta:

«: “Por que meus eventos não funcionam quando clico em elementos criado após o carregamento da página.” A resposta é simples. Ao carregar a página a biblioteca jQuery /Javascript procura por todos os elementos quando o DOM é carregado. Quando seu documento estiver pronto a biblioteca já terá decidido que não há uma classe chamada “.item” para ser removida com a método .remove(), e seu script não vai funcionar.»

aqui: http://www.kadunew.com/blog/jquery/atribuindo-eventos-a-elementos-criados-dinamicamente

cumps acao

 

 

 

conclusão ... é exactamente o que suspeitava

o que necessitas é não complicar, e após o carregamento do elemento dinâmico, associar o evento que pretendes:


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Jefferson Reis
1 minuto atrás, acao disse:

ok

coloquei o jquery, qual é o evento que necessito?

cumps acao

 

 

Não entendi a sua pergunta


Go Python

Share this post


Link to post
Share on other sites
acao
3 minutos atrás, Jefferson Reis disse:

Não entendi a sua pergunta

è para o @HappyHippyHippo, queria saber como resolvia.

cumps acao

Share this post


Link to post
Share on other sites
HappyHippyHippo
15 hours ago, acao said:

ok

coloquei o jquery, qual é o evento que necessito?

cumps acao

 

o problema não é o evento, porque podes registar o evento que quizeres, ou até criares os teus ...

o que disse é que o teu problema é saber quando, e como registar o evento:

- quando : após carregar os dados dinâmicos no DOM

- como : associar o evento como sempre fizeste, desde que seja ao elemento correcto

 

ps : nota como a resposta náo é concreta pois tu nunca disseste exactamente o que realmente estas a tentar implementar

Edited by HappyHippyHippo
postscript

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.