Привязка к элементу в динамически создаваемых фреймах

У меня есть страница, где пользователь может создавать несколько фреймов.

Пользователь нажимает на ссылку, чтобы создать новый iframe:

родительская страница:

 echo "<div id='iframes_wrapper'>";
$q = mysql_query("SELECT * FROM chat_iframe WHERE init_uid='$_SESSION[uid]'");
while ($row = mysql_fetch_assoc($q)) {
$target_uid = $row['target_uid'];
$iframeid = $row['id'];
echo "<iframe id='iframe_$iframeid' src='includes/chat_iframe.php?iframeid=$iframeid' class='chat_iframe' scrolling='no' frameborder='0' data-target_uid='$target_uid'></iframe>";
}
echo "</div>";

$(document).ready(function() {
$("#window").delegate(".open_iframe","click", function() {
var target_uid = $(this).attr("data-uid");
$.post("processforms/process_chat.php", { target_uid:target_uid, open_iframe_submit:0 }, function() {
$("#iframes_wrapper").load('chat.php?timer='+new Date().getTime() + " #iframes_wrapper", function() {
$("iframe").each(function() {
var this_iframeid = $(this).attr("id");
console.log(this_iframeid);
$("#iframe_"+this_iframeid).contents().find("a").on('click', function(event) { alert('test'); });
});
return false;
});
});
});
return false;
});

iframe.php

 echo "$target_displayname <a href='javascript:void(0);' data-iframeid='$iframeid' class='close_chat_iframe'><i class='fa fa-remove' style='float:right;'></i>";

У меня проблема в том, что когда пользователь нажимает на ссылку в iframe, ничего не происходит.

0

Решение

Вы должны попробовать вместо $("iframe").each(function() {...});:

$("iframe", this).on('load', function () {...});
1

Другие решения

Других решений пока нет …