0
문서로드 후 페이지에 동적으로 추가 된 요소에 클릭 이벤트를 추가하려고 시도했지만 작동하지 않습니다. 이는 a well-known problem with a clear answer 인 것 같습니다. 이건 내 코드입니다 :Mustache에서 동적으로 렌더링 된 요소에 클릭 이벤트를 추가 하시겠습니까?
$('body').on('click', "#clickme", function() {
alert('clicked!', $('#cartodb_id').text());
});
복잡한 요소는 요소가 CartoDB.js에 의해 자체가 페이지에 동적으로 렌더링됩니다 콧수염 템플릿, 내부에 있다고 할 수있다 :
<div id="map"></div>
<script type="infowindow/html" id="infowindow_template">
<div class="cartodb-popup">
<a href="#close" class="cartodb-popup-close-button close">x</a>
<div class="cartodb-popup-content-wrapper">
<div class="cartodb-popup-content">
<h4>cartodb_id: </h4>
<p id="cartodb_id">{{content.data.cartodb_id}}</p>
<input type="submit" id="clickme" value="clickme" />
</div>
</div>
<div class="cartodb-popup-tip-container"></div>
</div>
</script>
이 영향을해야 내 이벤트를 동적으로 추가하는 기능? 전체의 문제를 보여주는 JSFiddle에
링크 : 너무 CARTO 자신에 대해 잘 알고 있지만,이 요소가 존재하는 기다려야하면 잘 작동하는 것 같다하지 http://jsfiddle.net/8o12v2xs/9/
예! 정말 고맙습니다. 시간이 있다면 그 이유가 무엇인지 정확하게 설명해 주시겠습니까? 왜냐하면 Mustache 요소는'featureClick'이 발생했을 때만 페이지로 렌더링되기 때문입니까? – Richard
점을 클릭하면지도가 여러 요소를 대체하므로 클릭이 발생할 때까지지도가 존재하지 않습니다. 점을 클릭하고 속성을 열고 창을 선택한 다음 다른 점을 클릭했을 때 다시 작성하는 방법을 살펴보십시오. –