Câu trả lời:
Tôi cho rằng bạn muốn nội dung được thay đổi sau khi một số sự kiện xảy ra, như rê chuột, bối cảnh, hoặc bất cứ điều gì khác.
Để làm như vậy, bạn có thể sử dụng mã sau đây:
//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')
});
Như bạn có thể thấy, bạn có thể truy cập cửa sổ bật lên cho điểm đánh dấu mong muốn bằng phương thức Marker._popup, sau đó sử dụng phương thức setContent để thay đổi văn bản bên trong nó.
tham chiếu phương thức popup.setContent
Đây là một số mã trên Plunker chứng minh điều này: http://plnkr.co/edit/vjS495QPXiJpKalrNpvo?p=preview
_popup
có một dấu gạch dưới ở phía trước để chỉ ra rằng đó là một cá thể / thành viên riêng tư và không nên được truy cập trực tiếp. API chính xác là Layer.setPopupContent () . ví dụ
marker.setPopupContent(newContent);
Có thể đến trễ để trả lời, nhưng đối với những người khác, tôi nghĩ cách tốt nhất là ở đây
$('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;
});