Der folgende Code funktioniert. Wenn es einen besseren Weg gibt, lassen Sie es mich bitte wissen. Wenn ich den Skriptinhalt verwende, der in test.html auf der Hauptseite vorhanden ist, wo ich test.html ĂĽber Ajax lade. Das Skript funktioniert nicht.
<html>
<head>
<script src="https://stackoverflow.com/questions/17620211/jquerylocation" type="text/javascript"></script>
</head>
<body>
<div id='ajaxload'></div>
<button class="test">load content via ajax</button>
</body>
<script>
$(function(){
$('.test').on('click',function(){
$('#ajaxload').load('test.html');
});
});
</script>
</html>
Test.html:
<h1 class="heading">Page via AJAX</h1>
<script>
$(function(){
$('.heading').on('click',function(){
$(this).css('color','red');
});
});
</script>
Wir müssen das Skript zusammen mit dynamisch geladenen Inhalten über Ajax laden, um wie gewünscht zu funktionieren. Aber ich hatte den Nachteil, dass wir jedes Mal, wenn wir Ajax-Anforderungsskripts senden, die ganze Zeit zusammen mit Inhalten laden. Aber ich habe nur diese Lösung gefunden. Wenn jemand eine bessere Lösung kennt, bitte antworten.
Wenn Sie zum Beispiel den Code auf diese Weise ändern, funktioniert es nicht.
<html>
<head>
<script src="https://stackoverflow.com/questions/17620211/jquerylocation" type="text/javascript"></script>
</head>
<body>
<div id='ajaxload'></div>
<button class="test">load content via ajax</button>
</body>
<script>
$(function(){
$('.test').on('click',function(){
$('#ajaxload').load('test.html');
});
$('.heading').on('click',function(){
$(this).css('color','red');
});
});
</script>
</html>
Test.html:
<h1 class="heading">Page via AJAX</h1>
Das liegt daran, dass Sie es in die document.ready-Funktion einschließen, die nicht aufgerufen wird, nachdem ein AJAX-Aufruf beendet wurde. Sie können versuchen, Ihre Event-Handler in einer Erfolgs-Callback-Funktion in Ihrem load()-Aufruf hinzuzufügen, oder zurückgestellte Ereignisse verwenden, die global im Skriptabschnitt Ihrer Hauptseite definiert sind
– Derek
12. Juli 2013 um 17:04 Uhr
Bitte ĂĽberprĂĽfen Sie meine Frage noch einmal, ich habe sie bearbeitet. Und bitte bitte antworten Sie mit einem Code
– Susheel Singh
12. Juli 2013 um 17:08 Uhr
Stellen Sie auĂźerdem sicher, dass Sie Ihr Skript-Tag mit den richtigen Attributen definieren, dh
<script type="text/javascript">
– Derek
12. Juli 2013 um 17:08 Uhr
gemäß html5 DOCTYPE ist es in Ordnung, denke ich, nur
– Susheel Singh
12. Juli 2013 um 17:09 Uhr
Einige Browser mögen es jedoch nicht, da HTML5 noch nicht allgemein implementiert (oder sogar vereinbart) ist
– Derek
12. Juli 2013 um 17:10 Uhr