Mam łącze, myLink
, które powinno wstawić treść załadowaną przez AJAX do div
(dołączonej zawartości) mojej strony HTML. Problem polega na tym, że zdarzenie click
, które powiązałem z jQuery, nie jest wykonywane na nowo załadowanej zawartości, która jest wstawiana do dołączonego kontenera. Zdarzenie click
jest powiązane z elementami DOM, które nie są załadowane moją funkcją AJAX.Jak wiązać zdarzenia w załadowanej zawartości Ajax?
Co muszę zmienić, aby wydarzenie było związane?
Moje HTML:
<a class="LoadFromAjax" href="someurl">Load Ajax</a>
<div class="appendedContainer"></div>
Moje 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!");});
Zawartość mają być załadowane:
<div>some content</div>
<a class="mylink" href="otherurl">Link</a>
_Uwaga: Następujące elementy nie działają._ Brakuje '.' dla selektora klasy. – undefined
To był literówka! Nadal nie działa. – confile
Zobacz metodę jquery [.load()] (http://api.jquery.com/load/). $ ("# cel"). load ("source.html"); –