Autor Zpráva
ProchaR1
Profil *
Zdravím,
většinou na všechno přijdu sám ,ale teď už si opravdu nevím rady.

Mám na stránkách ruzné seznamy nicků.
Nedávno jsem objevil JQuery, tak jsem udělal, že při najetí myši na nick se objeví bublina s detailem.

Pak pomocí Ajaxu (ještě starým způsobem bez jquery pomocí oncklick a funkce na načtení stránky) načtu do divu stránku. Načítá se stránka opět se seznamem nicků, jenže zde už ty bubliny nefungujou, nerozumím tomu. Zkušel jsem do tý načítaný stránky dát normálně linky na jquery, ale nic.

Jedná se o web www.mytreneek.cz

V levém sloupci jsou panely. Když se klikne na ikonky tak se nad těmi panely otvírá právě ajaxem další panel.
Když si kotevřete panel Kontaky, osoby, tak v něm ty bubliny nejdou. Kdežto v již otevřeném panelu Uživatelé online to funguje bez problémů. Prostě akorát v tom panelu načtem Ajaxem to nejde.

Jo a nepoužívám ještě ajax pomocí jquery, protože potřebuju přenášet různé proměnné a na to jsem ještě nepřišel jak se to dělá. Ale nebránim se tomu. Ba naopak.
Děkuju za rady.
srigi
Profil
Problem je ten, ze dynamicky vytvorene elementy neprijmaju eventy, ktore si "staticky" (v JS kode) nabindoval na elementy. Riesenim je nove elementy opat nabindovat ale pouzit tu novu funkcnost jQuery 1.3 (druhy odstavec).

Prva metoda (rebind) sa uskutocni asi takto:
$('p').click(function(){
  // po kliknuti na <p> sa vykona kod v tejto funkcii
};
$('<p id="new_p">Click me</p>').appent('body'); // event CLICK nebude fungovat
$('p#new_p').click(function(){  // takze ho rebindeme
  // po kliknuti na <p> sa vykona kod v tejto funkcii
};
ProchaR1
Profil *
aha :) tak už aspoň vím proč to nefunguje.... dík

teď jen jestli to zvládnu udělat, zatím mám zkušenosti s jquery minimální, objevil jsem to teprve ve čtvrtek :).

Zatím to mám takto:

$(document).ready(function(){

  //bublina
  $(".hover").mousemove(function(e){
    var bub = "#"+$(this).attr("name");
    var leftVal = e.pageX + 10 + "px";
    var topVal = e.pageY + 10 + "px";
    $(bub).css({visibility: 'visible'});
    $(bub).css({left:leftVal,top:topVal});
  });
  $(".hover").mouseout(function(){
    var bub = "#"+$(this).attr("name");
    $(bub).css({visibility: 'hidden'});
  });
  //konec bublina
  
 
});


Zeptám se ještě na jednu věc. Chci předělat to Ajaxové načítání do jquery, jenže potřebuju nějak načíst get parametr "a" do tý ajaxem načtený stránky, abych moh odkazem kterej je v ní odkazovat na stejnou stránku. Mění se pouze parametr pro jinýho uživatele. Nebo to jde jinak?
Díky.
Radek.
ProchaR1
Profil *
Takže takhle:

$(document).ready(function(){

  //bublina
 
  $(".hover").live("mousemove",function(e){
    var bub = "#"+$(this).attr("name");
    var leftVal = e.pageX + 10 + "px";
    var topVal = e.pageY + 10 + "px";
    $(bub).css({visibility: 'visible'});
    $(bub).css({left:leftVal,top:topVal});
  });
  
 
  $(".hover").live("mouseout",function(){
    var bub = "#"+$(this).attr("name");
    $(bub).css({visibility: 'hidden'});
  });
  //konec bublina
  

});


dík moc :) ale stejně by mě zajímalo jak se to řešilo ve starších verzích, připadá mi to jako docela častej problém, když v ajaxem načtený stránce nejdou události...

druhý problém stále zůstává...
Jack06
Profil
Mohu se optat, když tedy refreshuji spránku javascriptem a budu chtít mít staticky v kodu napsane parent.location.href a aby mi to fungovalo, jak to napíšu? děkuji

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: