Trong một trong các dự án của chúng tôi, chúng tôi đang sử dụng Leaflet
cùng với plugin Leaflet.markercluster
. Nhìn qua các nguồn của Leaflet
tôi thấy rằng nó gắn thêm chức năng _collapse()
vào sự kiện click
của bản đồ, vì vậy bất cứ khi nào tôi nhấp vào bản đồ, nó hợp đồng cụm mở rộng trước đó.
Bây giờ, tôi muốn tắt hành vi này. Nếu cụm được mở rộng, sau đó tôi chỉ muốn bỏ chọn tất cả các điểm đánh dấu của nó trên sự kiện click
(và không tự ký hợp đồng cụm). Dưới đây là đoạn mã của tôi:Dừng tuyên truyền sự kiện 'nhấp' trong Tờ rơi
map.on('click', function(e) {
scope.deselectAllMarkers();
});
Tôi cố gắng thêm những dòng sau vào cuối một dòng callback này để ngăn chặn lan truyền của click
sự kiện:
scope.L.DomEvent.stopPropagation(e);
scope.L.DomEvent.preventDefault(e);
scope.L.DomEvent.stop(e);
scope.L.DomEvent.stopPropagation(e.originalEvent);
scope.L.DomEvent.preventDefault(e.originalEvent);
scope.L.DomEvent.stop(e.originalEvent);
Và không hoạt động nào trong số đó hoạt động. Trình nghe mặc định ẩn bên trong các nguồn Leaflet
giữ lời gọi của nó bất cứ khi nào tôi nhấp vào bản đồ. Tui bỏ lỡ điều gì vậy?
Bạn đã tìm thấy một giải pháp này cuối cùng? –