Jump to content
SecretStory

Jquery (.load();)

Recommended Posts

SecretStory

Olá!

É o 1º post que estou a fazer no forum (encontro sempre o que preciso, mas neste caso não foi o caso), por isso peço alguma compreensão se não me fazer entender. Sim, até porque não percebo muito Jquery (por enquanto)

Então vamos lá à minha duvida:

Estou a desenvolver uma espécie de calendário que irá mostrar numa 'tip' os eventos que irão ocorrer ou já ocorreram no dia pretendido (os dias em que houve eventos ficam com uma anchor).

Por exemplo:

No dia 1/5/11 houve eventos. Qnd carrego nessa anchor, irá aparecer-me a 'tip' com os eventos que ocorreram nesse dia(atraves do .load(url). Acontece que eu quero que esses eventos também sejam anchors, e qnd ele carregar numa deles, a informação detalhada do evento apareça numa 'div' que está no body(tambem com o .load(url) ). (Isto tudo já tá implementado e a funcionar, mas vai ficando lento conforme vou clicando)

Problema (já o encontrei, mas n sei soluciona-lo):

Para as anchors com os eventos funcionarem, tenho de re-declarar o ficheiro js no ficheiro que faço .load(url). Acontece que, se re-declara-los, sempre que carregar na anchor do dia, os ficheiros chamados vao sempre ser a dobrar (ex: carrego na anchor do dia 1, faço load do fich .php, e nesse fich redeclaro o .js. Qnd carrego logo na msma anchor ou outra até, ja chama duas vezes o .php e o .js. A proxima, 4 de cd um, e assim sucessivamente)(vi isto com o Firebug). E isto vai fazendo com que demore mais tempo a apresentar os eventos desse dia.

Uma à parte: Pela minha lógica, não devia ser necessário re-declarar o ficheiro .js qnd faço .load(url), porque vou apresenta-los numa tag que está no index, e no header do index, tá lá declarado o ficheiro .js com o qual quero interagir. Mas a vdd é: senão re-declarar, simplesmente n csg fazer nada :s

Aguardo ajuda, e espero que tenha sido compreensível.

Cumps

 

Share this post


Link to post
Share on other sites
SecretStory

Afinal já encontrei a solução.

antes (exemplo) tinha:

$("a#id").click(function() {

$("div#id").load(url); // retorna por exemplo '<a id="lol"> exemplo </a>'

});

$("a#lol").click(function() {

$("div#lool").load(url);

});

Se fosse carregar no <a>exemplo</a>, o jquery n fazia nada. Tinha que declara-lo no ficheiro onde fazia o load para poder carregar no anchor (para poder fazer algo no Jquery)

Mas assim:

$("a#id").live('click',function() {

$("div#id").load(url);  // retorna por exemplo '<a id="lol"> exemplo </a>'

});

$("a#lol").live('click',function() {

$("div#lool").load(url);

});

Nesta ultima forma não preciso de re-declarar o ficheiro js e o click do "lol" funciona :cheesygrin:

Cumps

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.