ajaxを介してコンテンツをコンテナー(#ajax_content)にロードしようとしています。外側をクリックしたときに、ajaxでロードされたコンテンツ(#ajax_content内のすべて)を閉じる(非表示にする)ことができるようにしたいと思います。しかし、内部の要素のonClickをバインドしたいと思います。
HTML:
<div id="wrapper">
<div id="ajax_content">
</div>
</div>
AJAXを介してロードされたHTML:
<button id="super_hello" >Click</button>
ajaxコンテンツがロードされるとHTMLは
<div id="wrapper">
<div id="ajax_content">
<button id="super_hello" >Click</button>
</div>
</div>
Javascript:
$(document).ready(function(){
$('.ajax_link').click(function(event) {
event.preventDefault();
$.get($(this).attr('href'), function(data) {
$('#ajax_content').html('');
$('#ajax_content').append(data);
$('#ajax_content').css({
visibility: 'visible'
});
});
});
$('#ajax_content').click(function(event){
event.stopPropagation();
});
$('#wrapper').click(function(){
$('#ajax_content').hide();
$('#ajax_content').html('');
$(this).hide();
});
});
$(document).on("click","#super_hello",function(e){
alert('clicked'); // I can't get this to work
});
問題:コメントすると
$('#ajax_content').click(function(event){
event.stopPropagation();
});
イベントはsuper_helloにバインドされますが、ajax_content内でクリックすると、ラッパーに伝播され、ajax_contentが閉じられます。