답변:
마우스 오버, 컨텍스트 메뉴 또는 기타 이벤트와 같은 일부 이벤트가 발생한 후 내용을 변경하려고한다고 가정합니다.
이를 위해 다음 코드를 사용할 수 있습니다.
//marker creation
var marker = L.marker([44.63, 22.65]).bindPopup('something').addTo(map);
marker.openPopup();
//changing the content on mouseover
marker.on('mouseover', function(){
marker._popup.setContent('something else')
});
보시다시피 marker._popup 메소드를 사용하여 원하는 마커의 팝업에 액세스 한 다음 setContent 메소드를 사용하여 그 안의 텍스트를 변경할 수 있습니다.
이것을 보여주는 Plunker의 코드는 다음과 같습니다 : http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
앞에 개인 / 회원 인스턴스임을 나타 내기 위해 밑줄이 있으며 직접 액세스해서는 안됩니다. 올바른 API는 Layer.setPopupContent () 입니다. 예 :
marker.setPopupContent(newContent);
답장에 늦을지도 모르지만 다른 사람들에게는 최선의 방법이 여기 있다고 생각합니다.
$('button').click(function() {
// Update the contents of the popup
$(popup._contentNode).html('The new content is much longer so the popup should update how it looks.');
// Calling _updateLayout to the popup resizes to the new content
popup._updateLayout();
// Calling _updatePosition so the popup is centered.
popup._updatePosition();
return false;
});