![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
od już kilkunastu prawie godzin walczę z czymś, mam na dzieję banalnym i nie mogę za sobie z tym poradzić. Otóż: Mam stronę HTML: [...] <ul> <li> tresc pierwotna, która potrafi wywołać funkcję </li> <li> inna tresc pierwotna, która potrafi wywołać funkcję </li> </ul> <a href='#'>Wywołuje AJAX</a> [...] Mój kod jQuery obsługuje kliknięcie na zawartość każdego taga <li></li> i to działa bez zarzutu (wywołuje inną fukncję jQuery, która coś tam sobie robi). Natomiast jeżeli wywołam działanie AJAX`a poprzez kliknięcie na link "Wywołuję AJAX", które usuwa dotychczasowe tagi <li></li> wewnątrz tagu <ul> </ul> i wprowadza tam nowe tagi <li></li> np. <li> zawartość zwrócona przez AJAX</li> to te nowe tagi zdają się być "odporne" na moje klikania - nie chcą wcale współpracować z kodem jQuery. // Moje kombinowania // wstawiłem do index kod js function triggerRightMenu() { alert('test'); } a wstawiane przez ajaxa tagi wzbogaciłem o coś takiego <li><a href='#' onclick='triggerRightMenu()'> tresc AJAX`owa</a> </li>. Niestety alert się nie wywołuje... Natomiast w sytuacji kiedy AJAX zwraca <li><a href='#' onclick='alert('test');'> teraz tutaj alert działa </a> </li>. Nie trudno się wobec tego skapnąć, że załadowana treść AJAXA "nie widzi" kodu z pozostałej strony. Schematycznie ujmując | cała strona | | kod jQuery (...) - 1 | | |załadowana treść Ajax | | | | tutaj kod z 1 nie obsługuje tagów | Mam nadzieję, że czytelnie wyraziłem mój problem. Gorąco proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
cały kod jQuery:
(function($) { $(function() { $('#content').fadeIn(400); /* * Left menu all action */ $('#leftMenu h1').click(function() { $('#leftMenu ul').slideToggle(150); }); $('#leftMenu a').click(function(){ var leftMenuIndex = $(this).attr('tabindex'); $('#leftMenu ul').fadeOut(150); var newValue = $(this).text(); $('#leftMenu h1').text(newValue); $('#rightMenu h1').text('--- SELECT ---'); //$('#contentBox').fadeOut(300); $('#rightMenu ul').fadeOut(300, function() { $('#rightMenu a').remove(); $('#rightMenu li').remove(); $.ajax({ type: 'get', url: 'fragment.php', data: 'leftMenuIndex='+ leftMenuIndex, success: function(returnValue) { $(returnValue).appendTo('#rightMenu ul').fadeIn(300); } }); // end ajax }); }); // end of #feftMenu a click /* * Right menu all action */ function triggerRightMenu() { alert('test'); } $('#rightMenu h1').click(function() { $('#rightMenu ul').slideToggle(150); }); $('#rightMenu a').click(function() { var rightMenuIndex = $(this).attr('tabindex'); $('#rightMenu ul').fadeOut(150); var newValue = $(this).text(); $('#rightMenu h1').text(newValue); $('#conBox').fadeIn(300); $('#content').fadeOut(300, function() { $(this).remove(); $.ajax({ type: 'get', url: 'fragment.php', data: 'rightMenuIndex='+ rightMenuIndex, success: function(returnValue) { $('<div id = "content">' + returnValue + '</div>').appendTo('#contentBox').fadeIn(300); } }); // end ajax }); }); // end of #rightMenu a click }); })(jQuery); generowanie odpowiedzi z pliku fragment.php (działam z biblioteką Smarty, więc wklejam szablon). -- tutaj myślę, że jest ok, - sprawdzam odpowiedź w firebug`u i wygląda dobrze. {foreach from=$pagesInfo key='index' item 'pageInfo}| <li><a href='#' tabindex='{pageInfo.id}'>{$pageInfo.title}</a></li> {/foreach} strona główna mam problemy z ładnym wyświetleniem html`a więc tutaj jest treść strony głównej Ten post edytował trol 25.04.2009, 18:45:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 04:09 |