nach dem ajax call $(document).ready();?
Habe ich ein problem. dies ist, was ich habe auf meiner Seite irgendwo im header
$(document).ready(function(){
$(".ajax").click(function(e){
var url = $(this).attr("href");
var url = url.split("##/");
if (!url[1]){url[1]=" ";}
var page = "http://<?php echo $_SERVER[SERVER_NAME]; ?>page.php?ajax=1&what="+url[0]+url[1];
$("#content").load(page);
var kkk = 'Asdasdasd';
});
});
so, nach dem Klick auf <a href="##/new_page" class="ajax">new</a>
, der Inhalt ist gefüllt mit diesem:
<script> alert(kkk); </script>
<a href="##/old_page" class="ajax">old page</a>
Jedoch die Warnung nicht in Betracht, da neue Seite NICHT sehen, kkk und weder link die arbeitete auf der original-Seite funktioniert. Warum?
- Ihre Frage ist nicht klar.
- Link zu überprüfen, was tatsächlich geschieht, kann hilfreich sein
- die Variablen mussten benannt kkk? nicht cool -_-
- es ist der debug -.- ...
- Serhal: ich habe eine Seite, gibt es einen link der wie folgt aussieht ##/Statistiken, die ich darauf klicken, und das Skript (erstes script) in meinen quesstion wird proccessed (Inhalt wird geladen mit content der Seite.php?ajax=1&what=Statistik ... nun, in der Statistik, dort ist ein link ##/Profil <-- aber dieser link funktioniert nicht! Da erste Skript funktioniert nicht auf neuen code Hinzugefügt... got it ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Damit der link funktioniert, nach dem laden es wieder, möchten Sie wahrscheinlich ein live-event. Dass die Uhr für alle neuen Objekte mit der ajax-Klasse als auch, statt nur diejenigen, die es an der Zeit, das original-Dokument geladen ist. Und wenn Sie benötigen, um alles andere bis, die normalerweise im inneren Dokument bereit, das in einer anonymen Funktion, die als zweiter parameter zu
load()
denn es ist nicht garantiert geladen haben, die neuen Inhalte, die sonst noch. eg:Oder wie @Levi betont, ein .Delegat-Aufruf würde das gleiche erreichen, aber ein bisschen weniger verschwenderisch:
$('content').delegate('.ajax', 'click', function() (...)
live
? Es war ein Fehler, nutzendelegate
. Eine anständige Zusammenfassung, warum: stackoverflow.com/questions/4204316/jquery-live-vs-delegateDen
kkk
variable wird eingeschlossen in den Geltungsbereich des Dokuments bereit Funktion. Verschieben Sie Sie außerhalb dieser Funktion statt:kkk
außerhalb der Funktion mitvar kkk;
. Sie können immer noch weisen seinen Wert nach einem Klick, mitkkk = '...'
(ohnevar
)..click(function () {...})
zu.live('click', function () {...})
- so der Vorschlag von @mootinator zu.