acao

Método document em jquery

16 mensagens neste tópico

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(){

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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; }

Editado por Jefferson Reis
Obs
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

Editado por acao
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

Editado por M6
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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

 

 

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok

coloquei o jquery, qual é o evento que necessito?

cumps acao

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
1 minuto atrás, acao disse:

ok

coloquei o jquery, qual é o evento que necessito?

cumps acao

 

 

Não entendi a sua pergunta

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
3 minutos atrás, Jefferson Reis disse:

Não entendi a sua pergunta

è para o @HappyHippyHippo, queria saber como resolvia.

cumps acao

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
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

Editado por HappyHippyHippo
postscript
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado a todos 

A dica do Jefferson Reis resolveu 

Cumprimentos 

Acao 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora