フォーラムを調べましたが、特定の問題の解決策を見つけることができませんでした。モーダル ポップアップ ウィンドウから要素を作成しています。ページに表示することはできますが、クリックできません。
アプリケーションに必要なことを実行できるように、jquery コードを 2 つの別々のファイルで実行しています。
ロード時に各要素にロードされる「編集」アイコンがあります。これは正常に動作し、クリックするとモーダル ボックスが作成され、「ページ 2」が読み込まれます。そこにあるすべての機能は適切に機能します。ユーザーが「更新」をクリックすると、ボックスが閉じて「ページ 1」から「append_elements」関数が起動し、新しいアイコンが読み込まれます。ただし、追加されたばかりのこの編集アイコンはクリックしません。
私はさまざまな場所で on() を使用しようとしましたが、うまくいきませんでした。
ありがとうエリック
ページ1:
$(document).ready(function(){
append_elements();
$('.cms_edit').on('click', function(){
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$('#mask_temp').css({'width':maskWidth,'height':maskHeight});
$('#mask_temp').fadeIn(1000);
var winH = $(window).height();
var winW = $(window).width();
var content_object = { 'content' : $(this).parent().html(), 'item_id' : $(this).parent().data("item") }
$('#modal_temp').load('/content-edit.php', content_object);
$('#modal_temp').css('top', winH/2-$("#modal_temp").height()/2);
$('#modal_temp').css('left', winW/2-$("#modal_temp").width()/2);
$('#modal_temp').fadeIn(500);
});
});
function append_elements()
{
$('.cms_edit').appendTo('.editable').show();
}
ページ2:
$('#update').click(function(){
var value = CKEDITOR.instances['page_text'].getData();
var item = $('#prev_id').val();
var elem = '<div class="cms_edit"><em class="icon-edit"></em></div>';
$('#item_' + item , parent.document).html(value);
$('#modal_temp', parent.document).fadeOut(500);
$('#mask_temp', parent.document).fadeOut(500);
parent.append_elements();
});