Mam o to taki kod:
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript">
$(document).ready(
function () {
$('#menu a').click(
function () {
var href=$(this).attr('href');
$('#content').load(href+' #content');
return false;
}
);
$('#content a').click(
function () {
var href=$(this).attr('href');
$('#content').load(href+' #content');
return false;
}
);
}
);
</script>
</head>
<body>
<div id="menu" style="border: 1px solid red;">
Menu:<br />
<a href="index.php?a=1" class="ajax">Strona 1</a><br />
<a href="index.php?a=2" class="ajax">Strona 2</a><br />
<a href="index.php?a=3" class="ajax">Strona 3</a>
</div>
<div id="content" style="border: 1px solid blue;">
Content:<br />
Strona <?php if(isset($_GET['a'])) echo $_GET['a']; else echo 'Główna'; ?><br /><br />
<a href="index.php?a=1" class="ajax">Strona 1</a><br />
<a href="index.php?a=2" class="ajax">Strona 2</a><br />
<a href="index.php?a=3" class="ajax">Strona 3</a>
</div>
</body>
</html>
Można go znaleźć również pod adresem http://mephir.net.pl/jquery, bynajmniej nie chodzi tu o kodowanie.
A więc tak jak klikam w linki z #menu to #content się ładuje automatycznie poprzez ajax, ale jak już po załadowaniu klikne w link z #contentu to nie wykorzystuje mi ajaxu tylko ładuje normalnie. Ma ktoś pomysł jak to obejść, zwalczyć aby te linki również działały?
Pewnym rozwiązaniem byłoby stworzenie funkcji i onclick przy linkach, ale ajaxuje już gotowy serwis i dodanie wszędzie onclick, tworzyłoby problem z trzepaniem jakichś 150 plików i szukaniem w nich miejsc gdzie tworzone są odnośniki :/
Niestety nie to powyżej, to tylko przykład aby pokazać mój problem.
W sumie temat można już usunąć ewentualnie, zostawić jakby ktoś miał podobny problem.
Rozwiązałem to w ten sposób że akcje kla klików wywaliłem do zewnętrzenej funkcji i po wczytaniu callbacka daje do tej funkcji. Wygląda to tak:
<html>
<head>
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
linki();
});
function linki(){
$('#menu a').click(
function () {
var href=$(this).attr('href');
$('#content').load(href+' #content', function(){ $('#content', null, linki()); });
return false;
}
);
$('#content a').click(
function () {
var href=$(this).attr('href');
$('#content').load(href+' #content', function(){ $('#content', null, linki()); });
return false;
}
);
}
</script>
</head>
<body>
<div id="menu" style="border: 1px solid red;">
Menu:<br />
<a href="index.php?a=1" class="ajax">Strona 1</a><br />
<a href="index.php?a=2" class="ajax">Strona 2</a><br />
<a href="index.php?a=3" class="ajax">Strona 3</a>
</div>
<div id="content" style="border: 1px solid blue;">
Content:<br />
Strona <?php if(isset($_GET['a'])) echo $_GET['a']; else echo 'Główna'; ?><br /><br />
<a href="index.php?a=1" class="ajax">Strona 1</a><br />
<a href="index.php?a=2" class="ajax">Strona 2</a><br />
<a href="index.php?a=3" class="ajax">Strona 3</a>
</div>
</body>
</html>