Jak powiązać zdarzenia w treści ładowanej przez Ajax?
Mam link,myLink
, które powinny wstawiać zawartość ładowaną przez AJAX dodiv
(appendedContainer) mojej strony HTML. Problem polega na tym, żeclick
Zdarzenie, które związałem z jQuery, nie jest wykonywane na nowo załadowanej zawartości, która jest wstawiana do appendedContainer. Theclick
Zdarzenie jest powiązane z elementami DOM, które nie są ładowane przy użyciu mojej funkcji AJAX.
Co muszę zmienić, aby wydarzenie było powiązane?
Mój HTML:
<a class="LoadFromAjax" href="someurl">Load Ajax</a>
<div class="appendedContainer"></div>
Mój JavaScript:
$(".LoadFromAjax").on("click", function(event) {
event.preventDefault();
var url = $(this).attr("href"),
appendedContainer = $(".appendedContainer");
$.ajax({
url: url,
type : 'get',
complete : function( qXHR, textStatus ) {
if (textStatus === 'success') {
var data = qXHR.responseText
appendedContainer.hide();
appendedContainer.append(data);
appendedContainer.fadeIn();
}
}
});
});
$(".mylink").on("click", function(event) { alert("new link clicked!");});
Treść do załadowania:
<div>some content</div>
<a class="mylink" href="otherurl">Link</a>