시프트 키를 누르고있을 때와 다른 Google지도 클릭시 JS 동작이 발생하려고합니다. 기본 제공되는 클릭 이벤트는 키 수정자를 제공하지 않으므로 해당 이벤트에서 의사 결정을 내릴 수 없습니다.Google지도 시프트 키가 내려갈 때 클릭 동작이 변경됨
하지만 기본 DOM 리스너를 추가하고, 거기에 확인할 수 있습니다
이google.maps.event.addDomListener(document.getElementById("map"), 'click', function(event) {
if (event.shiftKey) {
// do something with x, y e.g. use an overlay to find latLng
}
else {
// do something else
}
});
적절한 시나리오에서,
는 그러나, 나는 여전히 정상적인 클릭 이벤트가 발생 할 (Control key + click event on google map에서 적응) 예를 들어지도의 일반 영역을 클릭 할 때 마커를 클릭하면 안됩니다.
map.addListener('click', function(e) {
// normal map click
});
그러나,이 클릭 이벤트가 발생는 기본 DOM 이벤트 전에, 그래서 기본 이벤트에서 의사 결정을 여전히 표준 클릭의 동작을 유지할 수있는 방법을 볼 수 없습니다.
내가 누락 된 항목이 있습니까? 예를 들어 내장 된 클릭 이벤트 이전에 DOM 이벤트가 실행되도록하는 방법이 있습니까?
"정상적인"클릭이 작동하지 않으려면 어떻게해야합니까? 내가 할 수있는 한 모든지도가 "내장 된 행동"을 계속할 수 있습니다 (당신이 그들을 막을 무언가를하지 않는 한). 아마도 당신은 당신의 "이슈"를 보여주는 [mcve]를 제공 할 수 있습니다. BTW - 나는 또한 일관된 주문, "Google지도"이벤트, 먼저 "Google DOM"이벤트를 참조하십시오. – geocodezip
정상적인 클릭은 예상대로 작동하지만 Shift 키를 누르고 있어도 발생합니다. 원하지 않는 경우입니다. 동일한 주문을 확인해 주셔서 감사합니다 - 그것은 내가 추측하는 나의 질문의 주요 부분이었다. –
나는 다시 내 질문을 명확히하려고 노력했습니다. –