モーダルプラグインを作成しましたが、何らかの理由で、生成したdivの1つが、アタッチしているクリックイベントリスナーを取得していません。
<a class="close" id="js-close-modal"></a>
私が言及しているものです。私はjQueryをオンに使用していますが、それは役に立たないようです。
var $caller = $(this);
var $modal = $('.modal');
$caller.on('click', $caller, function(e) {
e.stopPropagation();
$('#js-close-modal').on('click', $('#js-close-modal'), function(e) {
$('.modal_outer').remove();
$('#modal_page_cover').remove();
});
var modal_outer = $('<div />');
modal_outer.addClass('modal_outer');
modal_outer.css({
top: ($(window).scrollTop()) + 'px'
});
var $div = $('<div />');
var modal = $('<div />');
modal.addClass('modal');
var modal_inner = $('<div />');
modal_inner.addClass('modal_inner');
modal.append(modal_inner);
modal_outer.append(modal);
var body = $('body');
body.append(modal_outer).hide().fadeIn(100);
modal_inner.text('yo');
var close = $('<a />');
close.addClass('close').attr('id', 'js-close-modal');
close.insertBefore(modal_inner);
var page_cover = $('<div />');
page_cover.attr('id', 'modal_page_cover');
body.prepend(page_cover);
});
デモ:JSFiddle
なぜですか?