为什么我不能将动态事件处理程序附加到此元素?

我的代码 :

HTML

  
Click

jQuery的/地图

 $("body").on("click", ".pulsanteProva", function () { alert("clicked"); }); $(window).load(function () { var templateFinestra = $('#mappa-infowindow'); var infoWindowOptions = { content: templateFinestra.html(), pixelOffset: new google.maps.Size(-87, -88) }; var infowindow = new InfoBox(infoWindowOptions); var latlng = new google.maps.LatLng(42.745334,12.738430); var options = { zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map'), options); var marker = new google.maps.Marker({ position: latlng, map: map, title: 'Example' }); markerClick = function () { infowindow.setContent(templateFinestra.html()); infowindow.open(map, marker); }; google.maps.event.addListener(marker, 'click', markerClick); }); 

当我点击标记,而不是跨度Click ,它必须向我显示警报,但实际上它不起作用。 似乎处理程序没有附加? 为什么?

既没有把它on函数内部并且从地图中附加它父作品http://jsfiddle.net/arEWv/9/

似乎谷歌地图删除渲染前附加到嵌入元素的所有事件。

看到工作jsfiddle

 markerClick = function () { infowindow.setContent(templateFinestra.html()); infowindow.open(map, marker); setTimeout(function(){$('.pulsanteProva').click(function(){alert('clicked');});},500); }; 

而这个没有工作的jsfiddle

 markerClick = function () { infowindow.setContent(templateFinestra.html()); infowindow.open(map, marker); $('.pulsanteProva').click(function(){alert('clicked');}); };